以下のような代物で良いでしょうか。
#define global ENFORCE_ERROR dialog \
"#Error 2.3 in line "+reading_line+"(hyahha-)\n-->サポートされない機能を選択しました♪" \
, 1, "Error" : end
#module
#define global ctype test(%1) ____test(%1,__line__)
#defcfunc ____test int k, int reading_line
switch k
case 0
rtn=0
swbreak
case 1
rtn=1
swbreak
default
ENFORCE_ERROR
swend
return rtn
#global
p=test(1)
p=test(3)
レノス様の技法を流用して作ってみました。以下は簡単な説明です。参考までに。
1,本来の関数召喚過程の間にマクロを放り込む
2,マクロを利用して引数に__line__(行数を返すシステム変数)を取る
3,エラーコードっぽい代物をマクロで作る(ENFORCE_ERROR)