templateのすることはソースコードの展開なのだから、頑張ればC言語のマクロでも近いことが出来るのではないか。そう思って幾つかマクロを書いてみた。
ええと、templateよりも遥かにエラーが判りにくい。
- 行表示が使えない。
- 複数行に渡るマクロは\で繋ぐため、全て1行の中に展開される。エラーに出るのは展開したのがどの行かのみ。
- メッセージが判りにくい。
- 例えばgccで「parse error before XXX」の場合、マクロ内にXXXが複数あるとどのXXXでエラーが出たのか判らない。
でも書き上がったマクロはちゃんと動くし、ちゃんと整備するだけの価値がありそうだ。