我有:
Windows 7/32位上的-cygwin 1.7.25
-g ++-版本-> g ++(GCC)4.8.2
-libstdc ++。a-> gcc-g ++-4.8.2-1
尝试制作C ++
你好,世界:
#include <string>
int main()
{
std::string s = "123";
int i = std::stoi(s);
}
编译给出:
$ g++ -std=c++11 main.cpp
main.cpp: In function ‘int main()’:
main.cpp:6:10: error: ‘stoi’ is not a member of ‘std’
int i = std::stoi(s);
我搜索了几个小时,但仍然找不到解决方案。这是什么问题?
最佳答案
那是一个错误,可能是一些库代码未完全移植到cygwin(这是cplusplus11功能)-毕竟必须更改某些内容。确保报告它。
解决方案当然很容易:#include <cstdlib> strtol(s.c_str(),0,10);
www.cplusplus.com/.../strtol
还提到了类似的mingw错误here
std::stoi doesn't exist in g++ 4.6.1 on MinGW