首页  >  文章  >  后端开发  >  为什么用 MinGW 4.6.1 编译时“stoi”不是“std”的成员?

为什么用 MinGW 4.6.1 编译时“stoi”不是“std”的成员?

Susan Sarandon
Susan Sarandon原创
2024-10-29 05:55:02324浏览

Why is

MinGW 4.6.1 中的 std::stoi 问题

错误“error: 'stoi' is not a member of 'std' " 使用 MinGW 4.6.1 进行编译时源于 Windows 上 vswprintf 的非标准声明。

说明:

GNU 标准库对此定义了宏 _GLIBCXX_HAVE_BROKEN_VSWPRINTF平台。此宏禁用某些转换函数,包括 std::stoi。

解决方法:

要解决此问题,请考虑修改随 MinGW 分发的头文件:

  1. 删除 .../lib/gcc/mingw32/4.6.1/include/c /bits/basic_string.h 第 2754 行的 !define(_GLIBCXX_HAVE_BROKEN_VSWPRINTF) 宏。
  2. 重新- 在第 2905 行到 2965 行周围添加宏,该宏引用 std::vswprintf。

后果:

此解决方法禁用 std::to_wstring 函数,但允许其他转换功能可用。

以上是为什么用 MinGW 4.6.1 编译时“stoi”不是“std”的成员?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn