HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0916
info#define の 挙動について3解決


info

リンク

2011/9/16(Fri) 08:24:45|NO.41377

#define の 文字列の置き換えは便利で、重宝しているのですが。
処理 の 値が 1 の時だけ、エラーが発生するようです。
どうやら %1の直後に、何も挟まずに e の文字が有った場合、エラーを吐くようですが。
これは一体どういう事なのだろうかと悩んでいます。誰か、解る人がいたら、教えて下さい。


#const 処理 2 #if 処理==0 //#cmpopt ppout 1 topx_ = 10 endx_ = 13 topy_ = 50 endy_ = 55 #define ctype rpt(%1) repeat end%1_ - top%1_ , top%1_ rpt(x) :x=cnt rpt(y) mes strf("%d,%d",x,cnt) wait 1 loop loop #endif #if 処理==1 topxe_ = 10 endxe_ = 13 topye_ = 50 endye_ = 55 #define ctype rpt(%1) repeat end%1e_ - top%1e_ , top%1e_ rpt(x) :x=cnt rpt(y) mes strf("%d,%d",x,cnt) wait 1 loop loop #endif #if 処理==2 topxi_ = 10 endxi_ = 13 topyi_ = 50 endyi_ = 55 #define ctype rpt(%1) repeat end%1i_ - top%1i_ , top%1i_ rpt(x) :x=cnt rpt(y) mes strf("%d,%d",x,cnt) wait 1 loop loop #endif



この記事に返信する


TTRUKO

リンク

2011/9/16(Fri) 09:03:14|NO.41378

断言はできませんが、%のあとには整数値しか書けないので、
実数値を表すfやd、eなどをつけてしまうと、コンパイルエラーになってしまうのではないでしょうか

a = 1e // ※a = 1e0の省略形 b = 1f c = 1d mes a mes b mes c



info

リンク

2011/9/16(Fri) 17:17:51|NO.41381

あれから色々試した結果、
d e f そして k がエラーに成りました。(漏れが有るかも?)
k がエラーに成る理由は解りませんが、ある程度納得できたので解決させていただきます。

 ありがとうございました。



info

リンク

2011/9/16(Fri) 17:18:52|NO.41382

解決押し忘れ。



ONION software Copyright 1997-2021(c) All rights reserved.