我不想使用-std = c ++ 11。 还有另一种方式吗?
我有这种代码的和平:
#include <iostream>
using namespace std;
#include <string>
#include <sstream>
int main()
{
std::string str1 = "45";
int myint1 = std::stoi(str1); <--error: Function 'stoi' could not be resolved
}
答案 0 :(得分:4)
stoi
来自C ++ 11,所以如果您不想使用标记-std=c++11
,则无法使用stoi
(或者您可以等到gcc 6.0将会已发布,-std=gnu++14
将成为默认标准。)
但你可以使用别的东西:boost::lexical_cast
,一些手动编写的函数等等。
答案 1 :(得分:0)
如果您的问题是&#34;我可以将stoi与GCC 4.4.7编译器一起使用吗?&#34;,那么
是,您可以将std::stoi
与-std=c++0x
一起使用。 GCC 4.4对花哨的C ++ 11功能没有太多支持,但它支持简单的C ++ 11函数,如std::stoi
。请查看此support table以获取GCC 4.4对C ++ 0x的支持。