このウィキペディアのページから次の例をコピーしました。
struct BasicStruct {
int x;
double y;
};
struct AltStruct {
AltStruct(int x, double y) : x_{x}, y_{y} {}
private:
int x_;
double y_;
};
BasicStruct var1{5, 3.2};
AltStruct var2{2, 4.3};
int main (int argc, char const *argv[])
{
return 0;
}
それから私はそれをコンパイルしようとしました
clang++ -Wall -std=c++11 test.cpp
しかし、私はこのエラーを受け取ります:
test.cpp:17:11: error: non-aggregate type 'AltStruct' cannot be initialized with
an initializer list
AltStruct var2{2, 4.3};
^ ~~~~~~~~
1 error generated.
私のclangバージョンclang++ --version
は
Apple clang version 3.1 (tags/Apple/clang-318.0.61) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin11.4.0
Thread model: posix
この例は機能しませんか?たぶん、clangはまだ完全にc ++ 11と互換性がありませんか?
どうしたの?