错误:error LNK2001: unresolved external symbol "private: static int Student::number" ()
源代码:
#include<iostream>
#include<string>
using namespace std;
class Student
{
static int number;
string name;
public:
void set(string str)
{
name = str;
++number;
}
static int printNumber() { cout<<number<<" total numbers\n"; return 0;}
void print() { cout<<name<<" -> students are "<<number<<" numbers\n"; }
};
//int Student::number=0;
void fn()
{
Student s1;
s1.set("JEnny");
Student s2;
s2.set("Randy");
s1.printNumber();
}
int main()
{
Student s;
s.set("Smith");
fn();
Student::printNumber();
return 0;
}
解释:静态成员在先初始化
解决:绿色部分(记得去掉"//"哦,^_^)