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以上標準進行編譯