在我的代码中,我有两个枚举如下:
enum myEnum{e1, e2};
enum myEnum2{e3, e4};
我有一个如下所示的函数原型:
void function myFunc(myEnum in_enum1, myEnum in_enum2){
some-code-here;
}
在某些情况下,我必须将第二个输入参数in_enum2留空。
我尝试将NULL传递给它,但编译器在执行此操作时给出了参数初始化错误。
如何将NULL传递给枚举类型输入参数?
提前致谢。
答案 0 :(得分:1)
枚举基础类型是u int
,它们不是指针,因此它们不能为空。
您可以使用指向枚举的指针,也可以在枚举中添加NULL选项。以下是后者:
enum myEnum{NULL, e1, e2};
enum myEnum2{NULL, e3, e4};
然后使用enum的NULL文字调用它。
myFunc(myEnum::NULL, myEnum2::NULL);