Sto cercando di aggiornare il mio compilatore C ++ a C ++ 11. Ho cercato un po 'e sono giunto alla conclusione che devo usare la bandiera -std=c++0x
o -std=gnu++0x
, ma non conosco molte cose sulle bandiere. Qualcuno può aiutarmi? (Sto usando Ubuntu 12.04.)
Ecco l'errore che ottengo dal compilatore quando tento di utilizzare una libreria inclusa in C ++ 11 (ovvero array):
#include <array>
#include <iostream>
int main()
{
std::array<int, 3> arr = {2, 3, 5};
...
}
Questo file richiede il supporto del compilatore e della libreria per l'imminente standard ISO C ++, C ++ 0x. Questo supporto è attualmente sperimentale e deve essere abilitato con le opzioni del compilatore -std = c ++ 0x o -std = gnu ++ 0x.
g++-4.6
di default (che supporta solo -std=c++0x
)
g++
, ad es g++ -std=c++0x _filename_ && ./a.out
.
-std=c++11
invece. Forse entrambi sono ammessi, però.