如何解决隐式转换为基础类型
static const uint8_t PREAMBLE = 0xA0;
enum class Channel: const uint8_t {
0 = 0x0,1 = 0x8
};
void foo(Channel chan) {
bar(PREAMBLE | channel);
}
旨在使用户能够通过ID而不是特定的掩码通过ID传递到foo
,然后我的代码处理正确的地址。问题是编译器抱怨说,即使基础类型相同,他也不知道如何对Channel
和const uint8_t
进行XOR。我可以提供一些额外的提示(无需显式强制转换)来完成这项工作吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。