当我使用代码

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

void callbackButton2(int state, void *pointer){

    int i = 2;

    return;
}

我在Visual Studios 2010中收到以下错误
错误C2065:“callbackButton2”:未声明的标识符

有人可以解释一下我在做错什么导致此错误

谢谢

最佳答案

根据提供的代码,似乎在第一行使用了callbackButton2,但在第二行之后声明了callbackButton2

在大多数语言中,这样做不是合法的事情,因为在编译器确定可以使用它的上下文之前,标识符是无效的,这是声明标识符的作用

试试这个:

    void callbackButton2(int state, void *pointer){

    int i = 2;

    return;
}

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

在该代码示例中,标识符cvCreateButton在用作ojit_code函数的参数之前被声明为函数,因此应有效使用标识符

10-08 09:04