我使用CLion作为IDE,它在IDE中报告了一个错误:
虽然代码可以编译和运行。但是如果我将字段z必须被初始化
const int z{3};
更改为const int z=3;
,那么在IDE中就不会报错。我的问题是:这是否确实是我的代码中的错误,还是只是IDE中的一个错误?这两种初始化方法之间有什么区别?你的IDE是否报告了这个错误?#include <iostream>
using namespace std;
class Test
{
private:
const int x = 3;
int y;
const int z{3};
public:
Test(int);
int gety(){
return y;
}
};
Test::Test(int a){
y=x+4;
}
int main()
{
Test test(5);
std::cout << test.gety() << std::endl;
return 0;
}