Arduinoでテンプレートクラスを使うときの注意

Arduino

C++ では複数の型に対応した関数やクラスを作成するために, テンプレートクラスというtemplate <typename T>といったものが使えます.
ArduinoもC++をベースとした言語になっていて, テンプレートクラスが使えます.
C++ではcppファイルに関数の本体,ヘッダファイル(.h, .hpp)に関数の前方宣言を書くのが一般的です.
しかし, Arduinoの場合は, cppファイルにテンプレートクラスを使った関数を書くとコンパイルが通りません.
ヘッダファイルに前方宣言ではなく,関数の本体を書かないとコンパイルが通らないので気をつけてください.

元ネタはstackexchangestackoverflowです.

コメント

タイトルとURLをコピーしました