Bitte erklären Sie mir die Bedeutung von "-Wsigned-enum-bitfield" Clang Warnung.Bedeutung der Clang Warnung "-Wsigned-enum-bitfield"
In meinem Code habe ich eine Definition eines struct
mit bitfields bekam:
struct Options {
BackgroundType backgroundType : 2;
LineSpace lineSpace : 2;
bool letterSpacing : 1;
bool shadow : 1;
Qt::AlignmentFlag alignment : 9;
} options;
options.alignment = Qt::AlignLeft;
Beim Kompilieren dieses Codes mit Clang, erhalte ich die folgende Warnung:
Aufzählungen der Microsoft ABI sind vorzeichenbehaftete Ganzzahlen; betrachten ENUM
Qt::AlignmentFlag
einen unsignierten zugrunde liegenden Typen unter denen diesen Code tragbar
Enum Qt::AlignmentFlag
extern zu meinem Code zu machen, und ich kann es nicht ändern. Ich neige dazu, diese Warnung einfach zu ignorieren. Was ist das Schlimmste, was passieren könnte, wenn ich diesen Code so belasse wie er ist?
@BoPersson Bitte geben Sie es als Antwort. –
Ich denke, das vorgeschlagene Duplikat weist bereits auf dieses Szenario hin. –