271 votes

to_string n’est pas membre de std, dit oui g ++

Je fais un peu de vocabulaire se souvenir de programme où les mots seraient flashé sur moi par hasard d'autres significations. Je veux utiliser la bibliothèque C++ standard que Bjarne Stroustroup nous dit, mais j'ai rencontré une étrange en apparence problème à droite de la porte.

Je veux changer un long entier en std::string afin d'être en mesure de le stocker dans un fichier. J'ai utilisé to_string() pour la même chose. Le problème c'est que quand je compile avec g++ (version 4.7.0 comme l'a mentionné dans son --version du drapeau), il dit:

PS C:\Users\Anurag\SkyDrive\College\Programs> g++ -std=c++0x ttd.cpp
ttd.cpp: In function 'int main()':
ttd.cpp:11:2: error: 'to_string' is not a member of 'std'

Mon programme qui donne cette erreur:

#include <string>

int main()
{
    std::to_string(0);
    return 0;
}

Mais, je sais qu'il ne peut pas être à cause de la bibliothèque msdn dit clairement qu'il existe et une question précédente sur Stack Overflow (g++ version 4.5) dit qu'il peut être activé avec l' -std=c++0x drapeau. Ce que je fais mal?

220voto

Rapptz Points 10135

C'est un bug connu sous MinGW. Pertinentes De Bugzilla. Dans la section des commentaires, vous pouvez obtenir un patch pour le faire fonctionner avec MinGW.

Ce problème a été corrigé dans MinGW-w64 distributions de plus que GCC 4.8.0 fournis par le MinGW-w64 projet. Malgré son nom, le projet fournit toolchains pour 32 bits avec 64-bit. Le Nuwen MinGW distro résout également ce problème.

126voto

cMinor Points 6745
<pre><code></code><p><code></code></p></pre>

49voto

andre Points 3915

Comme l’a suggéré, cela peut être un problème avec votre version de compilateur.

Essayez d’utiliser le code suivant à conver un à :

20voto

Nirav Patel Points 31

Utilisez cette fonction...

2voto

CashCow Points 18388

L'erreur est un compilateur de l'un et de signifie que votre compilateur n'est pas de trouver qu'il est défini dans les en-têtes que vous avez inclus.

Si l'emplacement de <string> vous sont effectivement y compris n'ont cette méthode, il a probablement un pré-processeur de dépendance autour d'elle.

Si vous pouvez obtenir que le cadre de travail, mais le code ne s'exécute pas correctement, alors il est probablement un problème avec votre lien.

(Ma propre conjecture est que votre configuration est mauvaise quelque part, éventuellement, de la cueillette jusqu'à la mauvaise version d' <string>)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X