Estou tentando atualizar meu compilador C ++ para C ++ 11. Pesquisei um pouco e cheguei à conclusão de que tenho de usar a bandeira -std=c++0x
ou -std=gnu++0x
, mas não sei muitas coisas sobre bandeiras. Alguém pode me ajudar? (Estou usando o Ubuntu 12.04.)
Aqui está o erro que eu recebo do compilador quando tento usar uma biblioteca que está incluída no C ++ 11 (ou seja, matriz):
#include <array>
#include <iostream>
int main()
{
std::array<int, 3> arr = {2, 3, 5};
...
}
Esse arquivo requer suporte do compilador e da biblioteca para o próximo padrão ISO C ++, C ++ 0x. Atualmente, esse suporte é experimental e deve ser ativado com as opções do compilador -std = c ++ 0x ou -std = gnu ++ 0x.
g++-4.6
por padrão (que suporta apenas -std=c++0x
)
g++
, por exemplo g++ -std=c++0x _filename_ && ./a.out
.
-std=c++11
. Talvez ambos sejam permitidos, no entanto.