Erreur C4716: problème à la compilation

totoscill Messages postés 48 Date d'inscription jeudi 26 avril 2007 Statut Membre Dernière intervention 10 décembre 2009 - 10 mai 2007 à 09:34
JejeLand Messages postés 111 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 5 août 2011 - 10 mai 2007 à 09:57
Bonjour,
j'essaie de créer une classe mais j'ai un problème lors de la compilation avec ma fonction initialisation.
Voici le code:
#include

"nidaqex.h"#include

 

class

CAPI_AcquiCard_NI{ i16 iStatus;

// statusi16 iRetVal;

// Retrieve valuesi16 iDevice;

u32 ulGpctrNum;

//counter 0 is usedu32 ulCount;

// parameter valueu32 ulTCReached;

//value of characteristics specified by entity_IDi16 iIgnoreWarning;

i16 iYieldON;

u32 MeasNumber;

//number of measurementsu32 iLoopCount;

public

:

int init(
int,
int,
int,
int,
int,
int,
int,
int,
int);};

int

CAPI_AcquiCard_NI::init(
int iStatus,
int iRetVal,
int iDevice,
int ulGpctrNum,
int ulCount,
int ulTCReached,
int iLoopCount,
int iIgnoreWarning,
int iYieldON){

iStatus = GPCTR_Control(iDevice, ulGpctrNum, ND_RESET);

iRetVal = NIDAQErrorHandler(iStatus,

"GPCTR_Control/RESET",iIgnoreWarning);

iStatus = GPCTR_Set_Application(iDevice, ulGpctrNum,

ND_SIMPLE_EVENT_CNT);

iRetVal = NIDAQErrorHandler(iStatus,

"GPCTR_Set_Application",iIgnoreWarning);

iStatus = GPCTR_Change_Parameter(iDevice, ulGpctrNum, ND_SOURCE,

ND_DEFAULT_PFI_LINE);

iRetVal = NIDAQErrorHandler(iStatus,

"GPCTR_Change_Parameter/SOURCE", iIgnoreWarning);

/* Load initial count. */iStatus = GPCTR_Change_Parameter(iDevice, ulGpctrNum,

ND_INITIAL_COUNT, ulCount);

iRetVal = NIDAQErrorHandler(iStatus,

"GPCTR_Change_Parameter/INITCOUNT", iIgnoreWarning);printf(

" Apply your digital pulse train to the SOURCE of your counter.\n");iStatus = GPCTR_Control(iDevice, ulGpctrNum, ND_PROGRAM);

iRetVal = NIDAQErrorHandler(iStatus,

"GPCTR_Control/PROGRAM",iIgnoreWarning);

}

Voilà,
Donc lors de la compilation, j'ai une erreur:

"error C4716: 'CAPI_AcquiCard_NI::init' : must return a value"

Quelqu'un pourrait il m'éclairer SVP?

Je vous remercie.

1 réponse

JejeLand Messages postés 111 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 5 août 2011 1
10 mai 2007 à 09:57
Bonjour,

Tu as déclaré ta fonction init avec un integer comme valeur de retour.

Soit tu déclare ta fonction init comme suit :   void init(int,int,int,int,int,int,int,int,int


);
Soit tu ajoute return integer  à la fin de la fonction init





int

CAPI_AcquiCard_NI::init(
int
iStatus,
int
iRetVal,
int
iDevice,
int
ulGpctrNum,
int
ulCount,
int
ulTCReached,
int
iLoopCount,
int
iIgnoreWarning,
int
iYieldON)




{

   return 0;


}
0
Rejoignez-nous