好的,这是我的显示功能,以及与之关联的枚举类型。
enum EventType {ARRIVAL = 'A', DEPARTURE = 'D'};
void EventList::display()
{
cout << "Event List: ";
for (ListNode *cur = head; cur != NULL; cur = cur->next)
{
if (cur->item.type == ARRIVAL)
cout << ARRIVAL << cur->item.beginTime << ":" << cur->item.transactionLength << " ";
else if (cur->item.type == DEPARTURE)
cout << DEPARTURE << cur->item.beginTime << " ";
}
cout << endl;
}
这个问题是我想要的输出是它显示A或D.不是与字母相关的整数值。我到底该怎么做?
Event List: 652:5 686
我想要阅读
Event List: A2:5 D6
答案 0 :(得分:2)
这很简单:把它投到char
:
cout << char(ARRIVAL) << cur->item.beginTime << ":" << cur->item.transactionLength << " ";
DEPARTURE
也一样。
它以这种方式工作的原因是,当在表达式中使用时,枚举通常会提升为int
(如果它们的值不适合int
,则为更大的整数类型)。然而,你在枚举中有正确的char
值,所以你可以把它投出来。