「可変引数」のあるマクロ定義で解析エラーが発生しています。回避策を教えてください。
「言語設定」は「ANSI-C」に設定しています。
■記述例
#define __unlocks(...) __lock_annotate(unlock_function(__VA_ARGS__))
■解析エラー
CasePlayer2-E-CPP : マクロ定義が正しくありません.
C:\XXXXXXXX\YYYYYYYY\ソースファイル名.c(行番号)
よくある質問(FAQ)
「可変引数」のあるマクロ定義で解析エラーが発生しています。回避策を教えてください。
「言語設定」は「ANSI-C」に設定しています。
■記述例
#define __unlocks(...) __lock_annotate(unlock_function(__VA_ARGS__))
■解析エラー
CasePlayer2-E-CPP : マクロ定義が正しくありません.
C:\XXXXXXXX\YYYYYYYY\ソースファイル名.c(行番号)
「可変引数」のあるマクロ定義が、ANSI-C 仕様に違反しているため、解析エラーが発生しています。
「可変引数」のあるマクロ定義は、C99 又は GNU-C で規定されている言語仕様です。
■回避策
使用コンパイラの言語仕様に合わせて、C99 又は GNU-C を選択することで、エラーを回避できます。
※「Cオプションパラメータ」の設定で、エラーを回避することはできません。
ANSI-C で使用する場合は、「可変引数」のあるマクロ定義 そのものを削除(コメントアウト)してください。
■ コメントアウトの例
#ifndef CP2
#define __unlocks(...) __lock_annotate(unlock_function(__VA_ARGS__))
#else
#define __unlocks()
#endif
※ CasePlayer2で解析するときは「#define __unlocks()」が有効となるようにします。
※"CP2"の定義は、CasePlayer2の「プリプセッサの設定」ダイアログの「#define(デファイン名[=数値])」へ設定してください。