Я намагаюся оновити свій компілятор 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
замість цього. Можливо, і те й інше дозволено.