「スコープに宣言がありません」と怒られたらプロトタイプ宣言してみよう
Arduinoでスケッチが長くなってきたら
機能ごとにファイルを分割したりしますよね。
で、コンパイルすると宣言がないと怒られたわけです。
でも
タブを切り替えるとちゃんとある。
実際のスケッチは関数名が長いので、打ち間違えていないか一文字ずつ指差し確認。
でも一致しているように見える。
テキストエディタにコピペして並べてみてもやっぱり同じだ。
おっかしいなぁ.....。
プロトタイプ宣言
見つからないって言うんだから、見つかるようにプロトタイプ宣言してみようか。
(Arduinoはコンパイル時に自動でやってくれるから本来は要らない。)
あっ.......
別のタブの別の関数で、ネストのカッコ閉じを失敗していました。
カッコを直したら
プロトタイプ宣言を削除しても無事コンパイルが通るようになりました。
まとめ
正しく宣言がされているにも関わらずコンパイラに「宣言がない」と怒られたら、その関数をプロトタイプ宣言してみよう。
すると、真の原因が見つかるかもしれない。