1

可能重复:
回调的缺陷

我在 Qt 文档中读到:

回调有两个基本缺陷:首先,它们不是类型安全的。我们永远无法确定处理函数是否会使用正确的参数调用回调。

我不确定为什么我们不能确定回调参数的正确性。它们不是类型安全的吗,因为在我写的这样的例子中:

void callback( int a ) {
    printf( "something" );
}

void ourProcessingFunc( void ( *cb )( int ) ) {
    cb( 'a' );
}

int main() {
    ourProcessingFunc( callback );

    return 0;
}

我们可以将 int 以外的参数传递给回调(在 ourProcessingFunc 中)吗?例如 char 或 long 等?还是因为其他原因它们不是类型安全的?抱歉这个愚蠢的问题,我想确定一下。

4

0 回答 0