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
あなたの質問には、常にコンパイラエラーを含めるべきです(逐語的)。 –
実際にコードがC++ 11でコンパイルされていることを確認してください。つまり、ビルド設定で "C++ Language Dialect"が 'C++ 11'に設定されていることを確認します。これはコンパイラフラグ" -std = C++ 1 "を使用する。 –