Maison >développement back-end >C++ >Pourquoi std::stoi, std::stoul et les fonctions associées ne sont-elles pas reconnues dans MinGW 4.6.1 ?
std::stoi Problème dans MinGW 4.6.1
Lors de la tentative de compilation d'un programme utilisant std::stoi, std::stoul , et les fonctions associées avec MinGW 4.6.1, une erreur est rencontrée indiquant que ces fonctions ne sont pas reconnues comme membres de std. Ce problème survient en raison de la déclaration non standard de vswprintf sur les plateformes Windows.
La bibliothèque standard GNU définit la macro _GLIBCXX_HAVE_BROKEN_VSWPRINTF, qui désactive les fonctions de conversion utilisées. Cette macro désactive efficacement les fonctions de conversion utilisées. Pour une compréhension approfondie du problème, reportez-vous à http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37522.
Pour résoudre ce problème, les utilisateurs peuvent modifier les fichiers d'en-tête distribués. avec MinGW. Cela peut impliquer de supprimer la macro !définie(_GLIBCXX_HAVE_BROKEN_VSWPRINTF) de la ligne 2754 de .../lib/gcc/mingw32/4.6.1/include/c /bits/basic_string.h. De plus, ajoutez la macro autour des lignes 2905 à 2965, qui font référence à std::vswprintf. Cette modification permettra la disponibilité des fonctions de conversion, à l'exclusion des fonctions std::to_wstring.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!