#include <iostream>
#include <string>
int main()
{
std::string test = "45";
int myint = stoi(test);
std::cout << myint << '\n';
}
我在运行 MinGW GCC 4.7.2 的计算机上尝试了此代码。它给了我这个错误:
我做错了什么,我从cppreference得到这个。它的代码完全相同。它与此处描述的错误不同。
#include <iostream>
#include <string>
int main()
{
std::string test = "45";
int myint = stoi(test);
std::cout << myint << '\n';
}
我在运行 MinGW GCC 4.7.2 的计算机上尝试了此代码。它给了我这个错误:
我做错了什么,我从cppreference得到这个。它的代码完全相同。它与此处描述的错误不同。
看来您的 MinGW 需要一个补丁:在 MinGW 中启用字符串转换功能
此补丁在 std 命名空间中启用以下 C++11 函数和模板列表:
stoi, stol, stoul, 斯托尔, stof, stod, stold, to_string, to_wstring
在上面的链接中,有一个.zip
文件,下载它并
另一种解决方案是使用开箱即用的 MinGW-w64 。这是 MinGW 的一个分支,可以生成 32 位和 64 位版本。