次のようなマクロを定義できますか:
#define ERROR_REPORT(LEVEL,SUB_LEVEL printf(
コンパイラは、この行に;
. 「(」をエスケープする方法はありますか?
これは関数を置き換えることを意図しています:
ERROR_REPORT(LEVEL,SUB_LEVEL
"error, there is an error %d\n",
error_id);
C 組み込み関数を使用
printf("error, there is an error %d\n",
error_id);
編集:「(」、「)」を1つ置き換えたいだけです。これを尋ねる理由は、問題として投稿されたコードが既にいくつかあるため、 ERROR_REPROT(... のような 1 行を printf( に置き換えたいだけです。