看来我们不能在C++中给出struct成员的默认值,但是我发现下面的代码可以编译和运行,为什么?我错过了什么吗?C++中struct成员的缺省值
struct Type {
int i = 0xffff;
};
计划:
#include <iostream>
using namespace std;
struct Type {
int i = 0xffff;
};
int main() {
// your code goes here
Type val;
std::cout << val.i << std::endl;
return 0;
}
你的编译器是否支持C++ 11标准? –
这种类型的初始化被添加到C++ 11中。这意味着我们可以在一个地方初始化,而不是在每个构造器中初始化。 – Ben
@tmp是的,请点击上面的超链接。 – prehistoricpenguin