【发布时间】:2013-01-28 17:34:51
【问题描述】:
我想做以下事情:
// I want 'is' to be either opened file or stringstream ...
void ParseTokens(const std::istream &is, std::vector<TokenClass> &vToks)
{
char ch;
...
is >> ch;
...
}
编译器抱怨:
error: ambiguous overload for ‘operator>>’ in ‘is >> ch’
我需要做什么才能完成这项工作?
[编辑]
请注意:operator>> 提供 格式化 输出 - 它会丢失空白字符(制表符、换行符等)。要访问所有字符,您需要使用get()。
【问题讨论】:
-
输入操作修改流。你无法做到
const。 -
@chris:好的 - 修复了它 - 将您的评论作为答案,以便我接受它,谢谢(在这种情况下,错误消息没有帮助:()