【发布时间】:2016-07-05 19:35:06
【问题描述】:
我正在尝试重载 >> 运算符以读取单个(使用 enum Symbol {e,a,b,c,d}; 创建)符号:
istream & operator >> (istream & is, Symbol & sym) {
Symbol Arr[]={e,a,b,c,d};
char ch;
is>>ch;
if (strchr("eabcd",ch))
sym=Arr[ch-'e'];
else {
is.unget();
is.setstate(ios::failbit);
}
return is;
}
但这读取了一些垃圾(数字)而不是我正在寻找的内容,导致尝试使用我的 using namespace std;,同样包括iostream和cstring。
【问题讨论】:
-
只是好奇,你想解决什么问题?
-
这是我在大学的对象编程课程的一个较大项目的一部分,我需要阅读符号,然后使用加法表等对它们进行操作。
标签: c++ operator-overloading inputstream strchr