可能重复:
Callback’s flaws
我在Qt文档中读过:
回调有两个根本缺陷:首先,它们不是类型安全的。 我们永远无法确定处理函数会调用 用正确的参数回调。
我不确定为什么我们无法确定回调参数的正确性。他们不是类型安全的,因为我写过这样的例子:
void callback( int a ) {
printf( "something" );
}
void ourProcessingFunc( void ( *cb )( int ) ) {
cb( 'a' );
}
int main() {
ourProcessingFunc( callback );
return 0;
}
我们可以传递给int以外的回调(在ourProcessingFunc中)参数吗?例如char或long等?或者因为别的东西而不是类型安全的?抱歉这个愚蠢的问题,我想确定一下。