首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从istringstream (C++)获取from ()

无法从istringstream (C++)获取from ()
EN

Stack Overflow用户
提问于 2011-12-10 05:50:58
回答 2查看 2.6K关注 0票数 3

我有一个先前声明的char c[64];,我正在尝试查看管道输出的第一个单词:

代码语言:javascript
复制
read(pipe_replacement_to_main[READ_END], c, BUF_SIZE);
istringstream response_stream(string(c));
string response_string;
getline(response_stream, response_string, ' ');

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

代码语言:javascript
复制
error: no matching function for call to ‘getline(std::istringstream (&)(std::string), std::string&, char)’

我甚至不知道它是如何调用这个函数的。我声明istringstream错误了吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-10 05:53:54

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

代码语言:javascript
复制
istringstream response_stream((string(c)));
票数 5
EN

Stack Overflow用户

发布于 2011-12-10 05:56:07

这很好地展示了C++的真正“威力”。

按照声明response_stream变量的方式,它实际上是一个函数,而不是istringstream类型。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8452150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档