<分区>
请向我解释“-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 编译此代码时,我收到以下警告:
enums in the Microsoft ABI are signed integers by default; consider giving the enum
Qt::AlignmentFlag
an unsigned underlying type to make this code portable
Enum Qt::AlignmentFlag
在我的代码之外,我无法更改它。我倾向于简单地忽略这个警告。如果我保留此代码原样,可能发生的最坏情况是什么?