我要做到以下幾點:如何使用std :: istream的正確
// 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 2013-02-13 08:10:54
@chris:好的 - 修復它 - 把你的評論作爲答案,所以我可以接受它,thx(在這種情況下,錯誤消息是沒有幫助:() – slashmais 2013-02-13 08:12:58