在MyClass中使用静态std :: map <int,myclass *>会导致未解析的外部符号</int,myclass *>

时间:2013-07-22 08:22:24

标签: c++

我想跟踪MyClass的实例,所以我在MyClass中添加了一个私有静态变量std::map<int,MyClass*>。现在的问题是它导致未解析的外部符号,我不知道如何调试。我该如何解决这个问题?

注意:我是一名经验丰富的Java程序员和新手C ++程序员,我也将其用作JNI dll,这就是为什么我需要跟踪{的实例{1}}。

1 个答案:

答案 0 :(得分:5)

您可能没有提供实施:

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;