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


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0903
Kuma定義した実数定数を別の定数の計算式に設定するとコンパイルエラーになる2解決


Kuma

リンク

2017/9/3(Sun) 16:53:23|NO.81221

以下のように、自動判定では整数になる数値を「#const double」で定義し、その値を使った新たな定数を定義しようとすると、abnormal calculationエラーが発生するようです。

; error
#const double val1 20.0
#const val2 (val1 + 1)

以下のように、 double を外したり、整数化が働かない実数になったりする定数では正常動作します。
また、「#const」でなく「#define」でもOKです。

; OK
#const val1 20.0
#const val2 (val1 + 1)

; OK
#const double val1 20.1
#const val2 (val1 + 1)

; OK
#const double val1 20.0
#define val2 (val1 + 1)

HSPのバージョンはオフィシャルの3.4です。

アクションゲームの固定幅フィールドの大きさを実数で定義していて、その半分の値などを定数で定義したいのですが、
「#define」や変数に入れて妥協するしかないかな?と感じています。



この記事に返信する


掘木

リンク

2017/9/3(Sun) 17:46:08|NO.81222

既視感がある。。。
http://hsp.tv/play/pforum.php?mode=pastwch&num=62977
3.4で見つかったエラーですね。

修正されたんでしたっけ?これ。



Kuma

リンク

2017/9/3(Sun) 23:54:47|NO.81225

過去ログは確認したつもりでしたが、基地でしたか。
念のため 3.5beta5b 上で試してみましたが、やはり同様のエラーが発生しました。
次の修正で治ることを祈りつつ、今は我慢するしかないか・・・

ちなみに、式の括弧を取って、且つ右辺左辺を入れ替えたら発生は抑制できました。
ただし、 val2 が整数になってしまったので、当初の要求からはNGです。しかも、括弧で囲むとなぜかエラーになります。

; NG
#const double val1 20.0
#const val2 1 + val1



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