我想做以下事情:
// 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()
.