我正在使用一个只接受void回调函数的API:
void (* CALLBACKFUNC) (void);
我想调用带有参数的回调函数,而不是为不同的输入参数编写多个具有相同功能的回调函数。比方说,我需要一个类似于以下的回调函数:
void myFunc(int a);
更新:更多信息:根据事件调用回调函数应该如下所示:
event1 -> 调用myFunc(1); event2 -> 调用myFunc(2); ...
事件数量有限且已预定义了最大值(如果有帮助),但我不想复制功能(实际情况中存在多个输入值,为不同的组合复制函数调用不容易)。
附注:我也可以使用C++11。有什么建议吗?
void (* CALLBACKFUNC) (void);
我想调用带有参数的回调函数,而不是为不同的输入参数编写多个具有相同功能的回调函数。比方说,我需要一个类似于以下的回调函数:
void myFunc(int a);
更新:更多信息:根据事件调用回调函数应该如下所示:
event1 -> 调用myFunc(1); event2 -> 调用myFunc(2); ...
事件数量有限且已预定义了最大值(如果有帮助),但我不想复制功能(实际情况中存在多个输入值,为不同的组合复制函数调用不容易)。
附注:我也可以使用C++11。有什么建议吗?
std::function
和std::bind
来创建定制的回调函数。这些是 C++11 的特性。 - Rishit Sanmukhani