投稿
ネタバレ
最近、DEF~ENDで少しわかりにくいエラーに遭遇しました。わかってしまえば、どうと言うことは無いのですが、わかるまで、かなり悩みました。 それは、入力と出力に同じ引数を指定した為に、Type mismatchと呼び出し側でエラーが表示されるものです。 以下の方法で回避できます。 1)定義側で、引数に別の名前を付け、出力の変数に代入する。 2)呼び出し側で、同一の変数を指定する。 もともと、INOUTのパラメータを使うことは少ないため、問題になることは少ないと思います。なお、配列変数の場合は、参照渡しのためこの問題は発生しません。
2そうだね
プレイ済み
返信[1]
親投稿
よっぱらい yopparai1965
入力と出力で同じ変数名だったら、エラーになる機能が欲しいですね。 でも、コンパイラじゃないから、無理か... 誰か、ソースコードチェッカー作らんかね? (UNIX Cの環境でいえば、lint)
0そうだね
プレイ済み
返信[2]
親投稿
出来ないことは無いかもしれませんが、実行時にチェックする方がインタプリタらしいような気がします。
0そうだね
プレイ済み
返信[3]
親投稿
ish owlis1
以前、同じような事で悩みました。 調べたら12月28日に投稿していました。 私の活動から見て頂くと何かしら役に立つかもしれませんので、良かったらどうぞ。
0そうだね
プレイ済み
返信[4]
親投稿
ishさんへ 私は、DEFにOUT引数を増やしたときに、VAR宣言から削除するのを忘れて、よく発生させています。
0そうだね
プレイ済み