2013-07-03 6 views
17

Clang 3.3は、メンバ初期化子や集約のようないくつかのC++ 14の機能をサポートしています。しかし、-std=c++11スイッチでもこのコードをコンパイルできません。Clang 3.3とC++ 14はサポートしていますか?

struct A 
{ 
    struct X { int a, b; }; 
    X x = { 1, 2 }; 
    int n; 
}; 

A a = {{10}, 5}; 

私は間違っていますか? Clang 3.3

+3

ワークス'11打ち鳴らすに** 3.2 **とgcc 4.7:

また、ここでは、今後のC++14と使用例についての議論があります。 – kennytm

+0

クラス内メンバー初期化子はC++ 11の機能ですか? –

+0

私は 'A a = {{10}、5};' 'を実行すると失敗します。私はC++ 14のこの機能を使いたいと思っています。 –

答えて

30

ポストC++ 11個の言語機能は、このコマンドラインスイッチで有効になっている:このページhttp://clang.llvm.org/cxx_status.htmlの下部

は-std = C++ 1yと

チェックアウト現在サポートされているC++ 11以降の機能のリストはClang 3.3です。 `-std = C++で私のためにhttp://www.meetingcpp.com/index.php/br/items/a-look-at-cpp14-papers-part-1.html

+0

この例では、どのようなC++ 14の機能を使用していますか? – balki

+0

@balki:集約初期化:http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3605.html –

関連する問題