タイトル : Re: 多段階配列の宣言の仕方 投稿日 : 2008/02/06(Wed) 15:12 投稿者 : よねKEN
> New宣言しろと怒られます。 そういうときは、実際に発生したエラーメッセージをコピペで記載するようにしてください。おそらく以下のようなエラーが出たのではないでしょうか。 「error BC31043: 構造体メンバとして宣言された配列を初期サイズで宣言することはできません。 Dim bu(30) As XYZV ~~~~~~ 」 > Private Structure AllMode > Dim bu(30) As XYZV > Dim nm As BData > End Structure 構造体のメンバーには静的配列が使えませんので以下のように変更します。 Private Structure AllMode Dim bu() As XYZV Dim nm As BData Public Sub Initialize() bu = New XYZV(30){} ' あるいは Redim bu(30)でもOK End Sub End Structure この構造体を使うときにはまずInitializeメソッドを呼ぶ必要がありますので、 AB(72)を使う前に以下のような感じで初期化してください。 For i As Integer = 0 To AB.Length AB(i).Initialize() Next 余談ですが、 > 次のような多段階配列を使いたいのですが、 今回ご提示のソースようなものは、一般的な呼称はなくて、 多段階配列(ジャグ配列ともいいます)とは言わないと思います。 多段階配列という言い方をする場合は、 Dim a(10)(20) As Integer というような方法で宣言された配列を言います。 |