次のコードは、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'