以下代码在 gcc-4.7.1 和 clang-3.2 下都无法使用 -std=c++11 进行编译。所以我觉得我做错了什么。但我不知道为什么。有人可以给我一个提示吗?基本上,如果我删除 X 的类内成员初始化程序,它就可以工作。那么为什么初始化列表不能与类内成员初始化器一起使用呢?
struct X {
int x = 1;
int y = 1;
};
int main() {
X x = {1, 2};
}
gcc 编译错误:
a.cpp: In function 'int main()':
a.cpp:7:16: error: could not convert '{1, 2}' from '<brace-enclosed initializer list>' to 'X'