当我使用代码
cvCreateButton("button1",callbackButton2,NULL,CV_PUSH_BUTTON,1);
void callbackButton2(int state, void *pointer){
int i = 2;
return;
}
最佳答案
根据提供的代码,似乎 callbackButton2
在第一行使用,但在第二行在此之后声明。
在大多数语言中,这不是合法的事情,因为标识符在编译器可以确定可以使用它的上下文之前是无效的,这就是声明标识符的作用
尝试这个:
void callbackButton2(int state, void *pointer){
int i = 2;
return;
}
cvCreateButton("button1",callbackButton2,NULL,CV_PUSH_BUTTON,1);
callbackButton2
在用作 cvCreateButton
的参数之前被声明为函数函数,因此应该是标识符的有效使用
https://stackoverflow.com/questions/6225503/