回调中的类型安全性

时间:2012-11-20 09:48:34

标签: c++ callback

  

可能重复:
  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等?或者因为别的东西而不是类型安全的?抱歉这个愚蠢的问题,我想确定一下。

0 个答案:

没有答案