2013-07-22 36 views
0

我想跟蹤MyClass的實例,所以我在MyClass中添加了一個私有靜態變量std::map<int,MyClass*>。現在的問題是它導致無法解析的外部符號,我不知道如何調試。我該如何解決這個問題?在MyClass中使用靜態std :: map <int,MyClass *>導致解析外部符號

注意:我是一位經驗豐富的Java程序員和新手C++程序員,我也將使用它作爲JNIdll,這就是爲什麼我需要跟蹤MyClass的實例。

+0

沒有必要評論你的注意..不要不用擔心,它會編譯;) – Maroun

回答

4

您可能還沒有提供的實現:

MyClass.h:

class MyClass { 
private: 
    static std::map<int, MyClass *> m_instances; 
... 
}; 

MyClass.cpp:

#include "MyClass.h" 

// Add this 
std::map<int, MyClass *> MyClass::m_instances; 
+0

6分鐘內無法接受答案。 :P 這是正確的答案。感謝您提供它。 – Marl

相關問題