我定义了一个枚举:
typedef enum{_Unvisible=0, _VisibleSwitchable=1, _VisibleForever=2} enumVisible;
然后
TRACE("(enumVisible)1 = %d\n", (enumVisible)1);
TRACE("(enumVisible)5 = %d\n", (enumVisible)5);
但是,我希望(enumVisible)5的值为2,规则是大于2就赋值为2,我该怎么重载(enumVisible)?
(这好象不是重载操作符...)强调:我不想用enumVisible Int2EnumVisible(UINT i){switch case....}这种函数实现我的目的。
我想重载枚举括号(enumVisible)!类似于enumVisible operator()(UINT i){...return _VisibleForever;}这样子的,只是我不懂怎么写?