tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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次元

ということになってしまいます。
呼ばれた関数側からは配列として扱えませんよね。

それよりは、現在の関数の定義を維持したままで、その関数の中で
引数の次元数を得て、その数に応じて内部処理を変えるようにすべき
でしょう。

# もっといえば、異なる次元数のデータは異なる関数に渡るような
# 処理に置き換えるべきかと。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。