我无法使它正常工作。我想在第一个func arg spot中包括两个值(彩色和黑色)。
在arg1中使用一个arg可以正常工作:
func(arg_a::Color, 5);
我在arg1中尝试了以下变体:arg_a::Color || Black arg_a::Color && Black (arg_a::Color, arg_a::Black) DWORD test = arg_a::Color&&Black;
我的文档如下:
arg_a
类型:DWORD
arg_a可以是以下值之一或多个:
颜色
白色
黑色
最佳答案
要将两个“枚举值”合二为一,通常为每个值使用一位:
enum {
Black = 0x01;
White = 0x02;
Color = 0x04;
}
然后,您可以将它们与按位运算符组合:
call(Black|White);
// or perhaps easier to read
call(Black + White);
在接收端
call(int val) {
if (val & Black) { ... }
if (val & White) { ... }
请注意,这只是伪代码。
关于c++ - 多值DWORD枚举作为一个函数参数C++,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26333704/