不能来自istringstream(C)的getline()

我有一个先前声明的char c [64];我试着看一下管道输出的第一个字:

read(pipe_replacement_to_main[READ_END], c, BUF_SIZE);
istringstream response_stream(string(c));
string response_string;
getline(response_stream, response_string, ' ');

gcc在第四行给了我以下内容:

error: no matching function for call to ‘getline(std::istringstream (&)(std::string), std::string&, char)’

我甚至无法弄清楚它是如何调用该函数的.我是否声明了istringstream错误?

解决方法:

Most vexing parse,在response_stream的构造函数中添加一对括号.

istringstream response_stream((string(c)));
上一篇:c – stringstream operator >>作为函数失败,但作为实例工作?


下一篇:string和stringstream用法总结