C++初學者在這裏。變量的多重定義
我正在寫一個簡單的程序,其在三個薄片分爲:
foo.h中(#包括所有需要的庫,所有的程序的變量和各個函數的聲明)
Foo.cpp中(#包括foo.h中,包含了foo.h功能定義)
main.cpp中(#包括當然foo.h中,並且包含主函數)
予編譯命令:克++ * CPP -o時間
我得到的錯誤是:
/tmp/cc0sNZgq.o:(.bss+0x0):VARIABLENAME的」多個定義對於在foo.h中聲明的每個變量,'。其次:
collect2:錯誤:LD返回1退出狀態
注:我已經把包含頭文件foo.h中後衛
我想有其中載有頭所有變量和函數聲明,以便main.cpp保持儘可能簡單和乾淨。
我在網上查找並找不到解決方案。
您在頭文件中有變量的*定義*,而不僅僅是*聲明*。所以你的定義出現在兩個編譯文件中。 [請閱讀'extern'關鍵字。](http://en.cppreference.com/w/cpp/language/storage_duration),或者創建一個類的變量'static'成員。 – BoBTFish
歡迎使用堆棧溢出。請花些時間閱讀[The Tour](http://stackoverflow.com/tour),並參閱[幫助中心](http://stackoverflow.com/help/asking)中的資料,瞭解您可以在這裏問。 –