叮当警告"-Wsigned-enum-bitfield"的含义
Meaning of Clang warning "-Wsigned-enum-bitfield"
请向我解释"-Wsigned-enum-bitfield"Clang警告的含义。
在我的代码中,我有一个带有位域的struct
的定义:
struct Options {
BackgroundType backgroundType : 2;
LineSpace lineSpace : 2;
bool letterSpacing : 1;
bool shadow : 1;
Qt::AlignmentFlag alignment : 9;
} options;
options.alignment = Qt::AlignLeft;
使用 Clang 编译此代码时,我收到以下警告:
默认情况下,Microsoft ABI 中的枚举是有符号整数;请考虑 为枚举
Qt::AlignmentFlag
一个无符号的基础类型来制作此代码 便携式
枚举Qt::AlignmentFlag
在我的代码外部,我无法更改它。我倾向于简单地忽略这个警告。如果我保持此代码不变,可能发生的最坏情况是什么?
如果枚举使用所有 9 位,则在读回时会得到一个负数。将其与其他值进行比较时可能会给您带来问题。
相关文章:
- enum是C++中的宏变量还是整数变量
- 是否可以从int转换为enum类类型
- 在一个模板函数中,若输入的类型是enum类,我该如何使用std::underlying_type
- 在C++中,将int值赋给enum,反之亦然
- 两个 COM 组件中 ENUM 的重复条目
- 类继承,ENUM 与 AST 类实现的问题
- C++关于ENUM的问题。我得到的响应比枚举列表大
- sizeof(enum) 可以不同于 sizeof(std::underlying_type<Enum>::
- 如何理解c++中在命名空间内部定义的枚举类型enum
- 如何将set和enum一起使用
- 如何限制从int到enum类的转换
- 编译为 cuda 内核调用提供了"expression must have integral or unscoped enum type"
- Access C++ Enum from Swift
- 密钥错误: "Couldn't find enum caffe.EmitConstraint.EmitType"
- 叮当警告"-Wsigned-enum-bitfield"的含义
- 使用 enum 参数将 C++ 对象信号连接到 QML 信号处理程序
- 在类中使用"enum"时出错
- 有什么方法可以从C 中的Enum类获取随机
- 使用ENUM输入和退出菜单,然后切换SFML
- map.insert:"Invalid arguments"错误与 pair<enum,vector<*>>