C++中是否有一种扩展/"继承"枚举的方法?
IE:
enum Enum {A,B,C};
enum EnumEx : public Enum {D,E,F};
Run Code Online (Sandbox Code Playgroud)
或至少定义它们之间的转换?
假设您有一个表示错误代码的枚举.将有几个代码,每个代码都有自己的底层int值; 但是,获取默认值0的枚举值似乎应该仔细考虑.
在错误代码枚举的情况下,我可以想到两个特殊值:无(对于没有错误的情况)和未知(对于没有现有错误代码的情况,或者甚至当错误状态不能被发现).
其中一个值似乎应该为0,其他值可能会得到其他类似-1的值.将None值设置为0或将Unknown值设置为0更合适吗?
public enum ErrorCode
{
None = -1,
Unknown = 0,
InsufficientPermissions,
ConnectivityError,
...
}
public enum ErrorCode
{
Unknown = -1,
None = 0,
InsufficientPermissions,
ConnectivityError,
...
}
Run Code Online (Sandbox Code Playgroud)
我的直觉告诉我默认应该是未知,但我很好奇是否有人做了不同的事情.