c++11错误代码:
/*==================Reward.h==================*/
struct Reward
{
int m_gold = 0;//就地初始化
int m_hCoin = 0;//就地初始化
int m_credit = 0;//就地初始化
};
/*==================test.cpp==================*/
int main(void)
{
//初始化列表初始化
Reward r{1,2,3};
return 0;
}
通过 `g++ test.cpp -std=c++11`编译直接报错:
经过多次测试,发现c++11以下(含c++11)不支持这种写法
解决办法:
1 不对成员进行初始化
2 编写相应参数的构造函数
3 使用c++11以上标准进行编译