タイトル : Re: 関数に多次元配列のアドレスを渡す 投稿日 : 2008/04/16(Wed) 09:15 投稿者 : K.J.K.
それは間違った方向に向かっているような。 先頭要素のアドレスを渡したいのならば、 A,「アドレス」として用いたい場合、 関数定義 Function FuncA(ByVal Address As Long) As Integer 呼び出し側 result = FuncA(VarPtr(data(0))) '1次元 result = FuncA(VarPtr(data(0, 0))) '2次元 B, 参照渡しする場合、 関数定義 Function FuncA(ByRef dst As Long) As Integer 呼び出し側 result = FuncA(data(0)) '1次元 result = FuncA(data(0, 0)) '2次元 ということになってしまいます。 呼ばれた関数側からは配列として扱えませんよね。 それよりは、現在の関数の定義を維持したままで、その関数の中で 引数の次元数を得て、その数に応じて内部処理を変えるようにすべき でしょう。 # もっといえば、異なる次元数のデータは異なる関数に渡るような # 処理に置き換えるべきかと。 |