编译器不知道std :: to_string? (C ++,即使在补丁之后)[重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译器不知道std :: to_string? (C ++,即使在补丁之后)[重复]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
停止 !在你将它标记为重复问题之前:问题是我的编译器不知道std :: to_string():我包含了字符串,经过一些研究后我发现它可能是一个MinGW(是的,我在Windows上)bug所以我尝试了这个补丁(http://tehsausage.com/mingw-to-string),但它不会工作:(你知道其他补丁或其他可能导致问题的事情吗?
error: 'to_string' is not a member of 'std'
a = b + std::to_string(12);
我的代码:
#include <iostream>
#include <string>
int main(){
std::string a = "Hallo Welt.";
std::string b("Hallo Welt.");
std::string c(50,'i');
a = b + c;
a = b + std::to_string(12);
return 0;
}
答案
尝试重新创建该功能
#include <string>
#include <sstream>
template < typename T > std::string to_string( const T& n ) {
std::ostringstream stm ;
stm << n ;
return stm.str() ;
}
#include <iostream>
using namespace std;
int main()
{
cout << to_string(12) << endl;
cout << to_string(456.2) << endl;
}
不要忘记包含sstream头文件
以上是关于编译器不知道std :: to_string? (C ++,即使在补丁之后)[重复]的主要内容,如果未能解决你的问题,请参考以下文章
std::to_string - 多个重载函数的实例与参数列表匹配
有没有一种简单的方法可以将前导零添加到通过 std::to_string(int) 创建的字符串中?
to_string 不是 std 的成员,g++ (mingw) 说