请问C++高手关于类里的illegal pure syntax, must be '= 0'错误。

来源:百度知道 编辑:UC知道 时间:2024/05/17 04:31:34
#include<iostream>
....
using namespace std;

class Month
{public:
....
private:
....
string yzm = "JanFebMarAprMayJunJulAugSepOctNovDec";
....
};

void main()
....

以上运行后出现illegal pure syntax, must be '= 0'错误,然后我把string yzm移出类,让它成为一个全局变量,则可以继续运行:

#include<iostream>
....
using namespace std;

string yzm = "JanFebMarAprMayJunJulAugSepOctNovDec";

class Month
{public:
....
private:
....
};

void main()
....

请问这是为什么???

非static的变量在类里面不能这样初始化,你要给这个类写一个构造函数,然后在构造函数里面初始化,如

class Month
{public:
Month(){yzm = "JanFebMarAprMayJunJulAugSepOctNovDec";}
....
private:
string yzm;
....
};