2017-04-23 15 views
1

Macのclangは統一初期化をサポートしていませんか?Macのclangは一様な初期化をサポートしていませんか?

私は次のコードをコンパイルしようとしましたが、コンパイラはエラーを発生させます。

#include <iostream> 
#include <vector> 
#include <string> 

int main() { 
    std::vector<int> v = {3, 1, 9, 4}; 
    std::cout << v[1] << std::endl; 
} 

エラー:

vector.cpp:9:22: error: non-aggregate type 'std::vector<int>' cannot be initialized with an initializer list 
    std::vector<int> v = {3, 1, 9, 4}; 
        ^ ~~~~~~~~~~~~ 
1 error generated. 

OS:MacOSの10.12.4

コンパイラのバージョン:私はあなたがCのようなコードをコンパイルするないいる疑いがある

Apple LLVM version 8.1.0 (clang-802.0.42) 
Target: x86_64-apple-darwin16.5.0 
Thread model: posix 
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin 
+4

あなたの質問には、常にコンパイラエラーを含めるべきです(逐語的)。 –

+1

実際にコードがC++ 11でコンパイルされていることを確認してください。つまり、ビルド設定で "C++ Language Dialect"が 'C++ 11'に設定されていることを確認します。これはコンパイラフラグ" -std = C++ 1 "を使用する。 –

答えて

2

++ 11/14(-std=c++11または-std=c++14)?そうでなければ;それを行う。あなたがしようとしていることをClang でサポートしています。

関連する問題