我想知道是否有一种方法可以像在Java中那样在C++中实现回调?
更具体地说:在将回调函数传递给另一个函数时直接定义它。
像这样:
int main(void) {
...
myButton->addOnClickCallback(new myCallback(){
// do some stuff.
});
return 0;
}
我没有在C++中找到与此类似的东西,所以我想知道是否有可能。
为了方便起见,这会很好:)
最佳答案
您可以进一步使用C++ 11中的lambda:
myButton->addOnClickCallback([](){
// do some stuff.
});
那是唯一的直接方法。
如果该方法不可用,则可以在其他解决方案中传递指向
&
运算符(不是必需)而不是new
的函数的指针。其次,必须在main
之外定义该函数:myCallback() {
// do some stuff.
}
int main (void) {
myButton->addOnClickCallback(myCallback);
return 0;
}