次のように宣言されたビットフィールドを使用するコードがあります
typedef struct my{
const char *name;
uint8_t is_alpha : 1;
uint8_t is_hwaccel : 1;
uint8_t x_chroma_shift;
uint8_t y_chroma_shift;
} mystr;
uint8_t
に typedef されunsigned char
ます。
このビット フィールドを使用して MS-VS 2008 でコードをビルドすると、次のような警告が表示されます。
imgconvert.c(60) : 警告 C4214: 非標準の拡張子が使用されています: int 以外のビット フィールド型。
- int 以外のタイプのビット フィールドを使用する際に問題や潜在的な問題はありますか? なぜ警告?
- C99 の C 言語仕様で許可されている int 型のビット ファイル以外はありますか?