Подтвердить что ты не робот

Вызов clang++ С++ 11

Хотя здесь есть некоторые вопросы относительно поддержки Clang 11, я не могу получить clang++, чтобы съесть свой код С++ 11.

$ clang++ --version
clang version 2.9 (tags/RELEASE_29/final)
Target: x86_64-pc-linux-gnu
Thread model: posix

В соответствии с статусной страницей clang С++ 11. У меня должна быть хотя бы частичная поддержка (например, прямоугольные скобки), но она отказывается от всех функции, которые я тестировал.

Есть ли какой-либо переключатель, чтобы сказать clang использовать С++ 11?


Пример теста:

$ clang++ -stdlib=libstdc++ cpp11.cpp 
cpp11.cpp:16:33: error: a space is required between consecutive right angle brackets (use '> >')
  std::vector<std::pair<int,char>> xs;
                                ^~
                                > >
cpp11.cpp:18:8: error: C++ requires a type specifier for all declarations
  auto y = x;
  ~~~~ ^
2 errors generated
4b9b3361

Ответ 1

ildjarn указывает правильный аргумент, -std=c++0x или -std=c++11. Ошибки, возникающие с этим аргументом, могут быть вызваны тем, что используемая вами версия libstdС++ использует некоторые С++ 11 или нестандартные С++, которые не поддерживают 2.9.