2016-05-10 12 views
0

私は特定のハードウェアとの通信のためにarduinoのライブラリを書いています。私は4つのファイル(main.cpp DCB.cpp、DCB.h、ubus_cmd.h)を持っています。 DCB.cppにはヘッダファイル(#include "DCB.h")が含まれ、DCB.hにはそれが定義されています(#ifndef DCB_H #define DCB_H)。メインファイル(main.cpp)にはライブラリ(#include "DCB.h")が含まれています。しかし、私はまだDCB.c.cppファイルのコンストラクタで複数の定義のエラーを取得します。エラーが表示されます(「最初の定義はここにあります」、「DCB :: DCB()の複数定義」)C++多重定義関数

+0

crypticのエラーメッセージは理解できますか? –

+0

あなたは、例えば、ctorを2回書くのではないことを、どうやって伝えることができますか?ここで言うことは不可能です。 –

+2

だから、C++やC?両方のタグで質問にタグを付けないでください。 – Zereges

答えて

1

まあ、そのタイトルはすべてです。 inlineでない限り、1つの関数を2回定義することはできません。明らかに、コンストラクタには2つの定義があります。

ヘッダの挿入については、偶発的な二重定義を防ぐのに役立ちますが、それらは十分ではありません。