J'essaie de mettre à jour mon compilateur C ++ vers C ++ 11. J'ai cherché un peu et je suis arrivé à la conclusion que je dois utiliser le drapeau -std=c++0xou -std=gnu++0x, mais je ne sais pas beaucoup de choses sur les drapeaux. Quelqu'un peut-il m'aider? (J'utilise Ubuntu 12.04.)
Voici l'erreur que j'obtiens du compilateur lorsque j'essaie d'utiliser une bibliothèque incluse dans C ++ 11 (c'est-à-dire un tableau):
#include <array>
#include <iostream>
int main()
{
std::array<int, 3> arr = {2, 3, 5};
...
}
Ce fichier nécessite le support du compilateur et de la bibliothèque pour la prochaine norme ISO C ++, C ++ 0x. Cette prise en charge est actuellement expérimentale et doit être activée avec les options du compilateur -std = c ++ 0x ou -std = gnu ++ 0x.
g++-4.6par défaut (qui ne prend en charge que -std=c++0x)
g++, par exemple g++ -std=c++0x _filename_ && ./a.out.
-std=c++11place. Peut-être que les deux sont autorisés, cependant.