Erreur c++ 'nullptr n'a pas été déclaré dans cette portée' dans Eclipse IDE
Je cours Eclipse Helios et j'ai g++-4.6 installé. J'espère que je ne me trompe pas que g ++ 4.6 implémente les fonctionnalités C++ 11. J'ai créé un projet c++ qui utilise les mots-clés nullptr et auto. La construction donne les erreurs suivantes:-
../{filename}.cpp:13:13: error: ‘nullptr’ was not declared in this scope
../{filename}.cpp:14:2: warning: ‘auto’ will change meaning in C++0x; please remove it [-Wc++0x-compat]
En fait, ça se construisait bien jusqu'à hier. Je les reçois de nulle part aujourd'hui. Merci de m'aider à résoudre ce problème.
7 réponses
Selon la page GCC pour C++11:
Pour activer la prise en charge de C++0x, ajoutez le paramètre de ligne de commande-std = C++0x à votre ligne de commande g++. Ou, pour activer les extensions GNU en plus des extensions C++0x, ajoutez -std = gnu++0x à votre ligne de commande g++. GCC 4.7 et versions ultérieures prennent également en charge-std=C++11 et-std=gnu++11.
Avez-vous compilé avec -std=gnu++0x
?
Enfin découvert ce qu'il faut faire. Ajout de l'argument-std=C++0x compilateur sous Propriétés du projet - > C / C++ Build - > paramètres - > GCC C++ compilateur - > Divers. Il travaille maintenant!
Mais comment ajouter cet indicateur par défaut pour tous les projets c++? Quelqu'un?
Est - ce une erreur de compilateur réelle ou une erreur d'analyse de Code? Parfois, l'analyse du code peut être un peu sommaire et signaler des erreurs non valides.
Pour désactiver l'analyse de code pour le projet, faites un clic droit sur votre projet dans L'Explorateur de Projets, cliquez sur Propriétés, puis allez dans L'onglet Général C/C++, puis analyse de Code. Cliquez ensuite sur "Utiliser les paramètres du projet" et désactivez ceux que vous ne souhaitez pas.
Aussi, êtes-vous sûr de compiler avec le compilateur C++11?
Allez dans Paramètres - > compilateur... Et ajoutez un drapeau à " avoir g++ Suivre la prochaine norme de langage C++ISO C++ 0x [std=C++0x]
Vous utilisez la version g ++ 4.6 vous devez appeler le flag-std = C++0x pour compiler
G++ - std=C++0x *.cpp-O Sortie
J'ajoute le", - std = c++0x "après" - c-fmessage-length = 0 " ,sous Propriétés du projet - > C / C++ Build - > paramètres - > compilateur GCC c++ - > Divers. N'oubliez pas d'ajouter la virgule "," comme séparateur.
Essayer avec une version différente de gcc a fonctionné pour moi-gcc 4.9 dans mon cas.