2011-04-28 53 views
1

我有以下錯誤雖然我有一個公共靜態成員myClass類中調用myMember無法解析的外部符號雖然它已經定義

錯誤LNK2001:無法解析的外部符號 「公用:靜態浮動MyClass的:: myMember」(?myMember @ MyClass的@@ 2MA)

注意當我雙擊它沒有錯誤帶我到代碼中的任何一行!

代碼:

class MyClass 
{ 
    public: 
     static float myMember; 
} 

任何想法?

+2

它並不需要你在任何一行代碼,因爲它是檢測到錯誤由鏈接器(LNK2001)而不是編譯器。當鏈接器看到曾經是你的源代碼的時候,沒有什麼可以說到線條。 – Jon 2011-04-28 22:20:26

+0

@Jon:我明白了。謝謝。 – Homam 2011-04-28 22:22:52

+0

[靜態類成員上未解析的外部符號]的可能重複(http://stackoverflow.com/questions/195207/unresolved-external-symbol-on-static-class-members) – 2011-04-28 22:37:27

回答

7

你只申報myMember中,在.cpp定義它對應於包含類的(假定).H:

float MyClass::myMember; 
+0

我沒有.h文件:$,是否有問題? – Homam 2011-04-28 22:22:21

+0

BOOST_STATIC_CONSTANT ... – 2011-04-28 22:22:50

+0

@Jack:不,在這種情況下,只需在類的外部添加定義*。 – Erik 2011-04-28 22:32:17