我正在制作一个小型词汇记忆程序,其中单词会随机闪现给我以了解含义。正如 Bjarne Stroustroup 告诉我们的那样,我想使用标准 C++ 库,但我一开始就遇到了一个看似奇怪的问题。
我想改变一个long
整数到std::string
以便能够将其存储在文件中。我已受聘to_string()
对于相同的。问题是,当我用 g++(版本 4.7.0,如其 --version 标志中提到的)编译它时,它说:
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 库清楚地说 http://msdn.microsoft.com/en-us/library/ee404875.aspx它存在并且之前的一个问题 https://stackoverflow.com/questions/7521617/c11-to-string-function-whereStack Overflow(适用于 g++ 版本 4.5)上表示可以使用-std=c++0x
旗帜。我究竟做错了什么?
这是 MinGW 下的一个已知错误。相关 Bugzilla http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52015。在评论区你可以得到patch http://tehsausage.com/mingw-to-string使其与 MinGW 一起工作。
此问题已在高于 GCC 4.8.0 的 MinGW-w64 发行版中得到修复,由MinGW-w64项目 http://mingw-w64.org/doku.php。尽管有这个名称,该项目提供了 32 位和 64 位的工具链。这Nuwen MinGW 发行版 http://nuwen.net/mingw.html也解决了这个问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)