組み込みの C99 互換プログラムに複数の構造体 (マイクロチップ コンパイラで使用される定義の型をモデルにしていますが、これはマイクロチップ アプリケーションではありません) があります。典型的な例を次に示します。
typedef struct
{
union
{
struct
{
CommandDirection_t ReadWrite : 1;
RegisterAddress_t Register : 7;
};
uint8_t Byte;
};
} MemsAccelCommand_t;
CommandDirection_t と RigisterAddress_t は列挙型です。コードの後半で、構造体を宣言して初期化します。
MemsAccelCommand_t command = { .ReadWrite = CMD_Read };
これは警告やエラーなしでコンパイルされますが、ファイルをリントすると、「エラー 65: メンバー名が必要です」というエラーが表示されます。
lint エラーが発生しないようにコードを微調整するにはどうすればよいですか、またはこれに対する lint 警告を無効にするにはどうすればよいですか (エラー 65 を無効にする以外に)。