C++中枚举的声明及使用
◆声明
在C++头文件中进行enum的声明,如下:
typedef enum tagConnectionType{
CONNECTION_TYPE_INVALID = -1, //invalid value
CONNECTION_TYPE_GENERAL = 0, //General connection
CONNECTION_TYPE_XMAN, //Xman connection
CONNECTION_TYPE_KILL, //kill 启隐connection
CONNECTION_TYPE_RESTART, //restart connection
}BT_CONNECTION_TYPE
声明的一般用法
声明时一般会规定一个无效值进行起始
例如CONNECTION_TYPE_INVALID = -1, //invalid value
有效值是一般以0进行设置,之后的类型值将默认+1
例如:
CONNECTION_TYPE_GENERAL = 0
CONNECTION_TYPE_XMAN = 1
CONNECTION_TYPE_KILL = 2
...
◆使用
使用上级声明的类型BT_CONNECTION_TYPE进行枚举变量的创建,如下所示:
BT_CONNECTION_TYPE enumConnectionType = CONNECTION_TYPE_INVALIDswitch与enum的一般使用,如下所示:
BT_CONNECTION_TYPE enumConnectionType = CONNECTION_TYPE_INVALIDenumConnectionType = GetBTConnectionType()
switch(enumConnectionType)
{
case CONNECTION_TYPE_GENERAL:
//执行XXX *** 作
break
case CONNECTION_TYPE_XMAN:
//执行XXX *** 作答旁岩
break
清御 case CONNECTION_TYPE_INVALID:
//执行XXX *** 作
break
default:
break;
}
晕,你的typedef enum MY_ENUM和后面的MY_ENUM是一样的,那么cl在编译的时候就不知道到宽滑森底是找前面那个MY_ENUM还是后面那个MY_ENUM了,尽管两个的实质上都是指同一个枚举量,但是编译器没有你那么聪明,呵让姿呵,你换个看看,慎亩或者把前面那个MY_ENUM省去不要就行了GetModuleFileName的第一个参数用 EnumWindows给你返回的 不是NULL EnumWindows返回给回调函数两个参数物配薯,第一个是枚举到的句罩者卖灶柄第二个是自定义的参数.欢迎分享,转载请注明来源:内存溢出
评论列表(0条)