構造体のサイズチェック(Static Assert)を行っているマクロの使用個所で解析エラーが発生しました。 回避策を教えてください。
■記述例
#define ASSERT_CONCAT_(a, b) a##b
#define ASSERT_CONCAT(a, b) ASSERT_CONCAT_(a, b)
#define STATIC_ASSERT(e) enum { ASSERT_CONCAT(ASSERT_LINE_, __LINE__) = 1/(!!(e)) }
// 構造体サイズは5バイト
// ※CasePlayer2で解析したときのサイズは8バイト
struct _tag {
char a; // size=1
int b; // size=4
};
// 構造体サイズ (5バイト) をチェック
STATIC_ASSERT(sizeof(struct _tag)==5); //★エラー発生
■解析エラー
CasePlayer2-E-SYN : 定数式に中に0除算があります.
C:\XXXXXXXX\YYYYYYYY\ソースファイル名.c(行番号)