Maison > développement back-end > C++ > le corps du texte

Pourquoi \'stoi\' n'est-il pas membre de \'std\' lors de la compilation avec MinGW 4.6.1 ?

Susan Sarandon
Libérer: 2024-10-29 05:55:02
original
372 Les gens l'ont consulté

Why is

std::stoi Problème dans MinGW 4.6.1

L'erreur "erreur : 'stoi' n'est pas membre de 'std' " lors de la compilation avec MinGW 4.6.1 provient d'une déclaration non standard de vswprintf sous Windows.

Explication :

La bibliothèque standard GNU définit la macro _GLIBCXX_HAVE_BROKEN_VSWPRINTF sur ce plate-forme. Cette macro désactive certaines fonctions de conversion, notamment std::stoi.

Solution de contournement :

Pour contourner ce problème, pensez à modifier les fichiers d'en-tête distribués avec MinGW :

  1. Supprimez la macro !définie(_GLIBCXX_HAVE_BROKEN_VSWPRINTF) sur la ligne 2754 de .../lib/gcc/mingw32/4.6.1/include/c /bits/basic_string.h.
  2. Re -ajoutez la macro autour des lignes 2905 à 2965, qui font référence à std::vswprintf.

Conséquences :

Cette solution de contournement désactive les fonctions std::to_wstring mais permet d'autres fonctions de conversion seront disponibles.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal