lang警告“ -Wsigned-enum-bitfield”的含义

加特

请向我解释“ -Wsigned-enum-bitfield”叮lang警告的含义。

在我的代码中,我定义了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位,则在读回时会得到一个负数。与其他值进行比较时可能会给您带来问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

警告的含义:符号'AllocateHWnd'被拒绝

这个警告的含义是什么?

repl.it 中警告的含义?

在XAML中,helpers:EnumHelper.Enum属性的含义是什么?

含义警告“文件被多个包触摸”

Python:`enum.auto()` 生成参数未填充的警告

Python:`enum.auto()` 生成参数未填充的警告

Swift enum - switch 语句匹配关联值警告

在java.lang.Enum.values()上重写Javadoc注释

isEnum()不承认java.lang.Enum中

Android:无法解析java.lang.Enum类型

检查一个类是否是java.lang.Enum

警告的含义“类实现可能没有超类”

Heroku 日志中的此警告的含义是什么

“ for(;;)”的含义?

::的含义

“{}+{}”的含义

为什么抽象类java.lang.Enum中没有定义enum的valueOf(String name)方法?

Hibernate HQL强制转换:java.lang.String不能强制转换为java.lang.Enum

java.lang.ClassCastException的含义:someClass与someClass不兼容

ruby-lang.org给出的__FILE__ = $ 0的含义

使用Enum Functional API发生意外警告-PyCharm错误

为什么java.lang.Enum :: valueOf不首先检查空名称?

为什么我不能在 java java.lang.Enum 泛型类型定义中重现?

为什么我得到一个Enum值上的java.lang.NoSuchFieldError :?

Xamarin Android将Java.Lang.Enum映射到C#枚举

如何修复NullPointerException“ org.apache.commons.lang3.SystemUtils.JAVA_SPECIFICATION_VERSION_AS_ENUM”为空?

带有 [java/lang/String] 的 Proguard 警告

java x.xml.ws.soap.SOAPFaultException: java.lang.String 不能转换为 java.lang.Enum