[HSP]#defineマクロの初期値に式を書けない
HSPのプリプロセッサの現在の仕様では、#defineマクロの初期値に単一の値は書けるが、式を書くとエラーになる。
例:
#define test(%1=12) mes %1
これはOK。
#define test(%1=10+2) mes %1
これは `10+2` が式(+記号が入っている)なので、コンパイルエラー(bad macro parameter expression)になる。
#define test_p1_default (10+2)
#define test(%1=test_p1_default) mes %1
妥協案としては、このような感じで初期値を別のマクロとして定義する。こうすると一応動く。2つの定義順は逆でも良い。
なぜこんな仕様になっているのか、という疑問はHSPには付き物だと思う。