- 締切済み
VB6で配列を引数にするときの2通りの方法について
VB6で引数に配列を渡す方法が2通りあるよう?ですが以下のような配列があり、渡し方によって引数の定義の仕方が異なると思うのですが、(2)番目の関数の書き方が知りたいです。 dim ary_dat(10) as integer (1)test_A( ary_dat ) は、sub test_A( byref ary() as integer)という関数を作れば動作することはわかりましたが、 (2)test_B( ary_dat(0) ) は、関すでどのような引数を定義すればできるのでしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- q_ta
- ベストアンサー率28% (11/39)
回答No.1
(2)は引数に配列のひとつの値を渡すという意味でしょうか? Sub Main dim ary_dat(10) as integer Call test_B(ary_dat(0)) End Sub Private Sub test_B(int_dat as Integer) End Sub おっしゃる意味が違っていたらごめんなさい。
補足
>(2)は引数に配列のひとつの値を渡すという意味でしょうか? 渡すときは先頭の1つを指定して、使うときには(関数側では)配列全部を利用します。 以前、他の方が書いたソースで、配列を渡すのではなくて、配列の先頭を渡して動作させていたものがあり、VBがどういう仕組み(関数側)で動作しているか知りたかったので質問しました。 C言語なら &ant_dat[0]に近い意味で、C言語の場合は、関数は func(*ary_dat)という形をとれば(1)(2)ともに動作しますが、VBの場合は func(byref ary_dat())という関数で定義した場合は引数は ary_dat()としないといけないのですが、その人は呼び出し側で ary_dat(0)でそれを実現していた為、不思議に思いました。