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


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
0503
曲者何故そこでerror 7[配列の要素が無効です]2解決


曲者

リンク

2019/5/3(Fri) 12:03:36|NO.87239

#Error 7 in line 16
dimtype fobj , vartype("double") , 7 , 8//line 1とします
num = 0 fobj.0.0 = 4//line 5 fobj.0.1 = -1 fobj.0.2 = 480 - 1 fobj.0.3 = 0 - 1 fobj.0.4 = 0 fobj.0.5 = -1 fobj.0.6 = 0 fobj.0.7 = 0//line 12 num = 1//コピペしやすいように導入 fobj.num.0 = 2//line 16,errorが出る箇所 fobj.num.1 = 0 fobj.num.2 = 0 - 1 fobj.num.3 = 640 - 1 fobj.num.4 = 0 fobj.num.5 = -1 fobj.num.6 = 0 fobj.num.7 = 0 num = 2 fobj.num.0 = 1 fobj.num.1 = 640 fobj.num.2 = 480 - 1 fobj.num.3 = 0 - 1 fobj.num.4 = 0 fobj.num.5 = -1 fobj.num.6 = 0 fobj.num.7 = 0

line 1をdimに沿って書いてた時は大丈夫だったんですが、
実数値を扱おうと思ってこう記述したらエラーが出ました。
型エラーならline 5辺りで出るはずですし、
line 16をfobj.1.0やfobj(1,0)などに直したり、右辺を実数型(2.0)で
記述してもどれも漏れなく同じエラー表示です。
文法エラー(次元数とか)ならline 12辺りで出そうですが、
それもないので、dimtypeの文法ミスではないと思ってます。

一体どうなっているんでしょうか...



この記事に返信する


MillkeyStars

リンク

2019/5/3(Fri) 13:48:26|NO.87240

dimtype で初期化した double 変数が、fobj.0.0 = 4 の時点で、int 型変数に変換されている。

なので、多次元自体を扱えなくなっているので、多次元を扱う fobj.num.0 = 2 の時点でエラー。
対策として、fobj.0.0 = 4 の 4 を 4.0 など double 型で代入しましょう。



曲者

リンク

2019/5/3(Fri) 16:46:40|NO.87241

なるほど、型が変換されちまうと多次元配列が使えなくなるから
だったわけですか、わかりました!なおりました、ありがとうございました。



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