私はこの配列を初期化するのに忙しいです:
int menuNumber2FunctionDbase[]= { &functionA , &functionB , &functionC };
しかし、次のようになります: menuNumber2FunctionDbase の初期化に近い および: 互換性のないポインター型からの初期化
私は試してみましたがint*
、functionA
代わりに&functionA
私は何を間違っていますか?
を使用するstd::function
と、グローバルな独立関数だけでなく、C++11 ラムダまたは (の助けを借りてstd::bind
) メンバー関数も使用できます。
std::function<void()> menuNumber2FunctionDbase[] = {
functieA, functieB, functieC
};
解決しました!あなたたちは素晴らしいです!
私が変更したのは次のとおりです。void (*menuNumber2FunctionDbase[])() = { functieA , functieB , functieC };
typdef を使用した他のオプションも素晴らしいですが(near initialization for 'menuNumber2FunctionDbase[2]')
、警告として: が表示されます
魔法のように動作します!どうもありがとう!