2011-04-28 34 views

回答

2

您需要的地方提供实现:

int a::m_n; 
4

你没有定义(而不是声明)你的静态类成员变量。

你可以把这个代码在实现文件(的.cpp)地方:

int a::m_n = 123456; 
+1

已经做了;)总是抓住我。 ..至少编译器发出一个有用的错误消息,为那个! – James 2011-04-28 09:22:20

0

对于静态的,你必须把它定义为:

class a 
{ 
    public: 
     static int m_n; 
     static int memfuc(); 
}; 

int a::m_n = 0; 

int main() 
{ 
    a my_a; 
} 

MY2C

0

你需要定义成员m_n,但您还需要正确访问该成员。

您需要添加:

int a::m_n = 0 // Or some number of your choice 

现在m_n是定义你可以在任何地方访问它,不只是在其他成员函数:

int get_m_n() 
{ 
    int k = a::m_n; 
    return k; 
} 
相关问题