C++の初心者はこちらです。変数の多重定義
がfoo.h(の#includeすべての必要なライブラリ、すべてのプログラム変数と、すべての関数の宣言)
:
私は3枚に分割され、簡単なプログラムを書いていますfoo.cpp(の#include foo.hという、foo.hという関数の定義を含む)
main.cppに(の#includeがfoo.hというもちろんメイン関数を含む)
私はコマンドでコンパイルします。G ++ * CPP -o時間
私が手にエラーがある:
/tmp/cc0sNZgq.o:(.bss+0x0):variableNameに「複数の定義をfoo.hで宣言されたすべての変数に対して '。
collect2は:エラー:ldは注意
1つの終了ステータスが返されました:私はすでに私が含まれるヘッダを持ってしようとしていた
がfoo.hヘッダファイルに警備員を含める入れ続きますmain.cppができるだけシンプルできれいに保たれるように、すべての変数と関数の宣言が必要です。
私はオンラインで見ており解決策を見つけることができませんでした。
*宣言だけでなく、ヘッダーに変数の*定義*があります。つまり、2つのコンパイル済みファイルに定義が表示されます。 [externキーワードで読む](http://en.cppreference.com/w/cpp/language/storage_duration)、クラスの静的メンバーを変数にする。 – BoBTFish
ようこそスタックオーバーフロー。 [The Tour](http://stackoverflow.com/tour)を読み、[ヘルプセンター](http://stackoverflow.com/help/asking)の資料を参考にしてください。ここに聞いてください。 –