【发布时间】:2013-05-16 05:07:37
【问题描述】:
我有以下课程:
class washm_t
{
public:
enum door_t { closed = 0, open = 1 };
private:
door_t door_state ;
public:
int open() ;
};
类的问题在于open名称既定义为类内部方法的名称,又定义为枚举类型的值。
问题是:我能否以某种方式修改代码,以便 open 名称都在类内部工作,还是应该为 open() 方法或 open 枚举类型值选择其他名称?
open() 函数如下所示:
int washm_t::open()
{
if(door_state == open) // ~fails, 'open' interpreted as name of method
// not as name of enum type value
return 1 ;
else
return door_state = open, 0 ;
}
【问题讨论】:
标签: c++ class enums redefinition