gpt4 book ai didi

c++ - 多值 DWORD 枚举作为一个函数参数 C++

转载 作者:行者123 更新时间:2023-11-28 02:39:54 24 4
gpt4 key购买 nike

我无法让它工作。我想在第一个 func arg 点(颜色和黑色)中包含两个值。

它与 arg1 中的一个 arg 一起工作正常: func(arg_a::Color, 5);

我在 arg1 中尝试了以下变体但未成功:

arg_a::颜色 ||黑色的
arg_a::颜色 && 黑色
(arg_a::颜色,arg_a::黑色)
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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com