Stringstream的Str方法不起作用。 (不同类型的串联)(C ++)

时间:2014-02-05 09:21:05

标签: c++ string output stringstream

我是C ++的新手,我正在尝试启动并运行一个简单的程序。

我在Windows系统上使用Eclipse IDE(C ++版本)。

我正在尝试连接输出语句,它将组合数字和字符串。

我在Java中知道,这是使用System.out.println()方法自动完成的。

我能够研究的是在C ++中实现它的一个好方法是使用字符串流方法。

#include <iostream>
#include <string>
#include "Person.h"

...

string simpleOutput(){
  stringstream ss;

  int a  = 50; // for testing purposes 
  int b = 60;
  string temp = "Random";
  ss << a << b << temp;
  return string output = ss.str();


}

当我尝试编译此代码时,会得到以下内容:“方法”str“无法解析。

我还没有在任何网页上找到解决方案。 Ť 谢谢!

3 个答案:

答案 0 :(得分:1)

要使用stringstream,您需要#include <sstream>stringstream命名空间中也定义了std,但是从您的代码中可以看出您已经使用了这个命名空间。代码的其他部分对我来说似乎是正确的。

答案 1 :(得分:1)

您被stringstream的前瞻声明 - 仅#include <sstream>

所困

同时使用std::stringstreamstd::stringreturn ss.str()(抓取string output

此外:在标题(全局范围)中放置using namespace :: std并不好。 请参阅:Using std Namespace

答案 2 :(得分:1)

您的主要问题是您错过了包含:

#include <sstream>

另外,你在函数中输入了一个拼写错误,你的return语句非常疯狂。通过这些修复,它可以工作:

#include <iostream>
#include <string>
#include <sstream>

string simpleOutput(){
  stringstream ss;

  int a  = 50; // for testing purposes 
  int b = 60;
  string temp = "Random";
  ss << a << b << temp;
  return ss.str();
}

See it live