【发布时间】:2017-04-28 23:16:58
【问题描述】:
我浏览了整个网站,但找不到解决我独特问题的方法。
编译器不断调出“无运算符”>>“匹配这些操作数。”当我尝试使用这段代码时的消息:
void readCustomerInfo()
{
ifstream in_stream;
int i = 0;
in_stream.open("Customers.dat");
string iDTemp;
string fntemp;
string lntemp;
float baltemp;
CustomerStatus stattemp;
int i = 0;
while (in_stream
>> iDTemp
>> fntemp
>> lntemp
>> baltemp
>> stattemp)
{
CCustomer temp(iDTemp, fntemp, lntemp, baltemp, stattemp);
customers[i] = temp;
i++;
}
红色错误行仅出现在 stattemp 之前的 >> 下方。
CustomerStatus 是一个如下所示的枚举:
enum CustomerStatus
{
INACTIVE,
ACTIVE,
};
CCustomer 是一个类。
我已尽力解决此问题并询问了很多人,但我似乎无法解决这个错误。
感谢您的帮助。
【问题讨论】:
-
你如何期待
>>阅读CustomerStatus? -
@user2357112 这是我迄今为止尝试过的,不熟悉解决此类问题。
-
您需要将
enum名称读取为字符串,然后将其转换为enum类型。 -
我想我应该问有没有办法创建一个重载的插入运算符来完成这项工作?