I have the following code :I have the following code:
//MyClass.h
class MyClass {
public:
typedef std::map OpMap;
static
As you are using VS2010, you need to initialize your static member in MyClass.cpp, in front of any other member function definitions. call MyClass::InitMap() if you want to initialize opMap_.
MyClass.h
class MyClass
{
public:
MyClass(void);
~MyClass(void);
public:
typedef std::map OpMap;
static OpMap opMap_;
static void InitMap();
};
MyClass.cpp
std::map MyClass::opMap_;
MyClass::MyClass(void)
{
InitMap(); // just sample if you want to initialize opMap_ inside MyClass constructor
}
void InitMap()
{
MyClass::opMap_["x"] = 1;
}