私は関数コールバックのためのメカニズムを開発しました。これが私の機能です。そうC.関数ポインタのコールバック。プロトタイプとの非互換性。
int function_root(var1,var2, int(*callback)(), ...);
VAR1 = var2の次いでコールバック(のva_argリスト)場合。例えば
:
function_root(A、B、fun_clbck、X、Y、Z)。 // a = b
の場合、これは次のようになります。fun_clbk(x、y、z);
問題があります。私の関数コールバックに少なくとも1つの引数があるとき。私は警告を受けるプロトタイプとの非互換性
私の問題は私の機能ルートにあると思う。私はint(* callback)()をゼロパラメータで宣言し、fun_clbck(int、int、int)のようなコールバックを実行すると、その問題を引き起こします。
@larsmans私はここで解決策を見つけました。このような関数コールバックをキャストする必要があります。------------------------------- --- function_root(a、b、(int(*)())fun_clbk、x、y、z); – Aymanadou