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