2011-06-03 1 views
0

Lorsque j'utilise le codecvCreateButton VS2010

cvCreateButton("button1",callbackButton2,NULL,CV_PUSH_BUTTON,1); 

void callbackButton2(int state, void *pointer){ 

    int i = 2; 

    return; 
} 

J'obtiens l'erreur suivante dans les studios visuels 2010 erreur C2065: « callbackButton2 »: identificateur non déclaré

Quelqu'un pourrait-il s'il vous plaît expliquer ce que je fais de mal à provoquer cette erreur

Merci

Répondre

2

Basé sur le code présenté, il apparaît que callbackButton2 est utilisé sur la première ligne mais est déclaré après cela sur la deuxième ligne.

Dans la plupart des langues ce n'est pas une chose juridique à faire, car un identifiant n'est pas valide jusqu'à ce que le compilateur peut déterminer le contexte (s) dans lequel il peut être utilisé qui est ce que la déclaration d'un identifiant ne

Essayez cette :

void callbackButton2(int state, void *pointer){ 

    int i = 2; 

    return; 
} 

cvCreateButton("button1",callbackButton2,NULL,CV_PUSH_BUTTON,1); 

Dans cet exemple de code l'identifiant callbackButton2 est déclarée comme une fonction avant d'être utilisé comme argument de la fonction cvCreateButton et doit donc être une utilisation valable de l'identifiant