当编译器坚持必须在编译期间知道数组的大小,且不允许 static 整数型 class 完成 in class 初值设定
可使用 enum hack 补偿做法
理论基础:一个属于枚举类型的数值可权充 int 被使用
class Widget
{
private:
enum { num = 5 };
int scores[num];
};
enum hack 的行为比较像 #define 而不像 const。
例如取一个const 的地址是合法的,但取一个enum的地址就不合法,而取一个 #define 的地址通常也不合法
如果你不想让别人获得一个指针或引用指向你的某个整数常量,enum可以帮助实现约束。
但是对于单纯常量,最好以 const 对象或 enum 替换 #define
对于形似函数的宏,最好改用 inline 函数替换 #define
标签:const,int,enum,hack,class,define From: https://www.cnblogs.com/ycddqr/p/17673538.html