【发布时间】:2013-03-13 02:30:15
【问题描述】:
我知道这是非常基本的,但我对 C++ 很陌生,似乎找不到答案。我只是想将一些整数转换为字符串。此方法有效:
int a = 10;
stringstream ss;
ss << a;
string str = ss.str();
但是当我需要像这样转换第二个和第三个时:
int b = 13;
stringstream ss;
ss << a;
string str2 = ss.str();
int c = 15;
stringstream ss;
ss << b;
string str3 = ss.str();
我收到此错误:
'std::stringstream ss' previously declared here
我需要以某种方式关闭字符串流吗?我注意到,如果我在代码中将它们彼此远离,编译器不会介意,但这似乎不是我应该做的事情。有人有建议吗?
【问题讨论】:
-
您使用 stringstream 只是为了将 int 转换为字符串?您应该尝试改用 std::to_string。
-
是的。我试过 to_string 并且我的编译器不理解它。我收到此错误:无法解析函数“to_string”。我确保我也在使用 #include
和 #include -
将字符串标头添加到您的代码中。请参阅下面的示例
-
试试 std::to_string(int),它会正常工作的。
-
to_string 是较新 C++ 版本的属性。许多编译器不会理解它。