我可以使用枚举类值作为varargs函数的参数吗?

9 c++ enums c++11 enum-class

C++ 11添加了枚举类,它是更强类型的枚举 - 枚举类的值不会隐式转换为其他枚举类或整数的值,并且通过显式大小说明符允许前向声明.

是否可以将这些枚举的值传递给varargs函数并保持在标准定义的行为中?在实现定义的行为中?

Ala*_*kes 8

是的你可以.5.2.2/7显式允许任何枚举类型的参数.unscoped枚举值是整数提升的,但是范围的枚举(enum class那些)不是.

当然,在执行该功能时仍需要小心.