我有一个先前声明的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错误?
答案 0 :(得分:5)
Most vexing parse,在response_stream
的构造函数中添加一对括号。
istringstream response_stream((string(c)));
答案 1 :(得分:2)
很好地展示了C ++的真正“力量”。
您声明response_stream
变量的方式,它实际上是一个函数而不是istringstream
类型。