我有一個名爲的東西有點類,我想存儲的東西。這些東西是int類型的列表。在我使用的任何類的代碼中,我希望能夠在Stuff類中訪問這些東西。當我的類有靜態成員時,爲什麼我的C++程序不會鏈接?
Main.cpp的:
#include "Stuff.h"
int main()
{
Stuff::things.push_back(123);
return 0;
}
Stuff.h:
#include <list>
class Stuff
{
public:
static list<int> things;
};
,但我得到這個代碼的一些構建錯誤:
錯誤LNK2001:無法解析的外部符號「公:靜態類的std ::名單< INT,一流的std ::分配器<INT> > Stuff :: things「(?things @ Stuff @@ 2V?$ list @ HV?$ allocator @ H @ std @@@ std @@ A)Main.obj CSandbox
致命錯誤LNK1120:1個未解析的外部C :\東西\項目\ CSandbox \調試\ CSandbox.exe CSandbox
我是一個C#人,我正在嘗試學習C++的一個副項目。我認爲我不明白C++如何對待靜態成員。所以請解釋我在這裏得到的錯誤。
我可能在政治上建議您嘗試格式化您的代碼示例嗎? :-) – stiank81 2009-12-29 21:18:37
我會,如果我知道如何,但我注意到,格雷格很友好地爲我做 – 2009-12-29 22:10:24
我打算把我的答案和...... 2個新答案。只是因爲我知道它。 – Hai 2009-12-29 22:11:25