私の arduino スケッチでは、署名付きの関数ポインターの配列が必要void foo()
です。Linuxでコマンドラインユーティリティを使用ino
しています(内部でavr-g ++を使用しています)。
ただし、配列の定義中に非常に奇妙なエラーが発生します。
エラー:
error: invalid conversion from ‘void (* (*)())()’ to ‘void (*)()’
このコードで
void (*mode_setup[])(void) = {
&show_time_setup,
&set_time_setup,
&set_alarm_setup,
&set_date_setup // <-- generates 3 identical error on this line
};
私は間違っていることを理解していません... int foo[] = { 1, 2, 3 };
..は完全に有効でありvoid (*foo)(void)
、関数ポインタの構文です。
私は何が欠けていますか?
edit: NEVERMIND IM STUPID 関数は void foo() ではなく、fptr foo() [fptr=function pointer typedef] 人々の時間を無駄にしたことに対する心からの謝罪