另一个类的枚举作为参数

时间:2012-01-12 17:35:13

标签: c++ class enums

我在Item类

中有这个枚举
 enum EquipSlot
{
RightHand,
Head,
...
};

字符类具有此函数声明

void Character::UnequipSlot(Item::EquipSlot slot);

item class不在任何名称空间中,也不在另一个类的一部分中。

我在实现中使用了Item :: EquipSlot,没有错误。它只在声明时给出编译错误。

调用另一个类的枚举的正确方法是什么?

(编译器是vc ++ 9) 错误是:错误C2027:使用未定义类型'Item'(项类用于其他声明)

感谢。

1 个答案:

答案 0 :(得分:3)

包含定义 Item的标题。

如果Item 仅声明,则Item可能会在某些情况下使用,但在需要Item的大小或内容时却不会使用。