我有枚举课,说
enum class Enum{
var1, var2;
}
现在我想添加一些取决于参数 ie 的成员var3(int)
。好的,这不是枚举,所以我想通过普通类来改变它,但我的目标是让旧代码(Enum::var1
作为类型的值Enum
)可以编译。
我试图这样做(让我们暂时忘记var3
,它将是静态函数):
class Enum{
public:
const static Enum var1 = Enum(1);
const static Enum var2 = Enum(2);
private:
Enum(int v):v(v){
}
int v;
//operator == using v
};
但它不会编译,因为 Enum 的类型不完整。
我不能在课后声明它,因为它在标题中,所以它不适用于多个 cpp。此外,在这里有公共构造函数并不是一个好主意。
有什么想法吗?