以下是代码:
#include <iostream>
using namespace std;
class Zaix
{
private:
static int mor;
public:
static int beri;
static void setmor(int lip)
{
Zaix::mor=lip;
}
static int getmor(void)
{
return mor;
}
};
int Zaix::beri=3;
int main()
{
cout<<Zaix::beri<<endl;
Zaix::beri++;
cout<<Zaix::beri<<endl;
Zaix::setmor(6);
return 0;
}
现在,main()
函数Zaix::setmor(6);
的第4行以某种方式使提交的代码的第11行无效Zaix::mor=lip;
。注释掉这一行,整个事情编译好了,有了它,编译器就会出现这个错误:
未定义引用Zaix :: mor&#34; 知道为什么会这样吗?
答案 0 :(得分:2)
在类外定义变量。
int Zaix::mor;
对于作业:
int Zaix::mor = 4;
答案 1 :(得分:0)
在C ++中我们需要定义一个类之外的所有静态成员变量,否则我们会得到一个链接错误。您只需要执行以下操作: -
int Zaix::mor;// Just add this line below int Zaix::beri = 3;