Я пытаюсь обновить мой компилятор C ++ до C ++ 11. Я немного искал и пришел к выводу, что мне нужно использовать флаг -std=c++0xили -std=gnu++0x, но я мало что знаю о флагах. Может кто-нибудь мне помочь? (Я использую Ubuntu 12.04.)
Вот ошибка, которую я получаю от компилятора, когда я пытаюсь использовать библиотеку, которая включена в C ++ 11 (то есть массив):
#include <array>
#include <iostream>
int main()
{
std::array<int, 3> arr = {2, 3, 5};
...
}
Этот файл требует поддержки компилятора и библиотеки для следующего стандарта ISO C ++, C ++ 0x. Эта поддержка в настоящее время является экспериментальной и должна быть включена с помощью параметров компилятора -std = c ++ 0x или -std = gnu ++ 0x.
g++-4.6по умолчанию (который поддерживает только -std=c++0x)
g++, например g++ -std=c++0x _filename_ && ./a.out.
-std=c++11вместо этого. Может быть, и то и другое разрешено.