我使用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;
}
Run Code Online (Sandbox Code Playgroud)
是否确实是我的代码错误
代码中没有错误,没关系.
或者它只是IDE中的一个错误?
在生成错误消息的任何内容中都存在错误.IDE在我的嫌疑人列表中占据重要地位,但它可能是另一个工具,它的消息是IDE中继.
这两种初始化方法有何不同?
在此上下文中(默认成员初始化程序),两种语法在语义上都是等效的.没有区别.