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


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0113
おにいさんコンパイル自設の定、『#cmpopt varinit 1』について2解決


おにいさん

リンク

2013/1/13(Sun) 15:04:20|NO.51832

コンパイル時の設定で、『#cmpopt varinit』を『1』にして下記のソースを実行すると、
変数『jp』が
"error 39 : 未初期化変数を使用しようとしました "
と表示されてしまいます。何故でしょうか?
HSPはVer3.31です。



;--------------------------- #cmpopt varinit 1 gosub *ABC if jp >= 0 { dialog "0以上" } else { dialog "0未満" } stop ;--------------------------- *ABC jp = 0 return



この記事に返信する


inovia

リンク

2013/1/13(Sun) 15:42:24|NO.51833

実行時ではなくコンパイル時での未初期化変数のチェックなので、
実際の実行順序と関係なく、単純にソースコードの上から下へと順番に
チェックしているためでは?

これだったら問題ないですね。

jp = 0 を上に持ってくれば問題ない様子。


#cmpopt varinit 1 goto *main *ABC jp = 0 return *main gosub *ABC if jp >= 0 { dialog "0以上" } else { dialog "0未満" } stop



おにいさん

リンク

2013/1/13(Sun) 16:03:27|NO.51834

ご回答ありがとうございます。

HSP内でどのようにチャックしているかは不明ですが、なるほどと納得いたしました。



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