1

重複の可能性:
コールバックの欠陥

私はQtのドキュメントを読みました:

コールバックには 2 つの基本的な欠陥があります。まず、タイプ セーフではありません。処理関数が正しい引数でコールバックを呼び出すことを確信することはできません。

コールバックの引数の正確性について確信が持てない理由がわかりません。私が書いたような例では、それらはタイプセーフではありません:

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