to_string不是std的成员,例如g+(Mingw)

to_string不是std的成员,例如g+(Mingw)

我正在做一个小的词汇记忆程序,在这个程序中,单词会随机地向我闪现以获取意义。正如BjarneStroustroup告诉我们的那样,我想使用标准C+库,但是我遇到了一个似乎很奇怪的问题。

我想换一个long整数成std::string以便能够将其存储在文件中。我雇了to_string()同样的。问题是,当我用g+(如其-‍版本标志中提到的4.7.0版本)编译它时,它说:

PS C:\Users\Anurag\SkyDrive\College\Programs> g++ -std=c++0x ttd.cpp
ttd.cpp: In function 'int main()':ttd.cpp:11:2: error: 'to_string' is not a member of 'std'

导致此错误的程序是:

#include <string>int main(){
    std::to_string(0);
    return 0;}

但是,我知道这不可能是因为MSDN库清楚地说它的存在先前的问题对于堆栈溢出(对于g+版本4.5),可以使用-std=c++0x旗子。我做错什么了?


红颜莎娜
浏览 1837回答 3
3回答

Smart猫小萌

#include&nbsp;<string>#include&nbsp;<sstream>namespace&nbsp;patch{ &nbsp;&nbsp;&nbsp;&nbsp;template&nbsp;<&nbsp;typename&nbsp;T&nbsp;>&nbsp;std::string&nbsp;to_string(&nbsp;const&nbsp;T&&nbsp;n&nbsp;) &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;std::ostringstream&nbsp;stm&nbsp;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stm&nbsp;<<&nbsp;n&nbsp;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;stm.str()&nbsp;; &nbsp;&nbsp;&nbsp;&nbsp;}}#include&nbsp;<iostream>int&nbsp;main(){ &nbsp;&nbsp;&nbsp;&nbsp;std::cout&nbsp;<<&nbsp;patch::to_string(1234)&nbsp;<<&nbsp;'\n'&nbsp;<<&nbsp;patch::to_string(1234.56)&nbsp;<<&nbsp;'\n'&nbsp;;}别忘了包括#include <sstream>
打开App,查看更多内容
随时随地看视频慕课网APP