• ベストアンサー

関数の引数

こんにちわ。 ご存知の方、ご教授してもらえないでしょうか? VB.net2005を使っているのですが 関数の引数に変数をセットして、別関数で 引数に対してデータをセットすることは可能でしょうか? C言語でいうところのポインタを引数に渡し ポインタアドレスに書き込むような処理はVB.netでは 可能なんでしょうか? 下記のような事は試したのですが、うまく出来ませんでした(。。; public sub test1() dim mojiretu as string test2( mojiretu ) msgbox(mojiretu) end sub public sub test2( str as string) str = "文字列" end sub

質問者が選んだベストアンサー

  • ベストアンサー
  • loop_dog
  • ベストアンサー率32% (14/43)
回答No.1

public sub test2( str as string) を public sub test2(byref str as string) にすると、できます。 前者が値渡しで、後者が参照渡しです。

参考URL:
http://homepage1.nifty.com/CavalierLab/lab/vb/byvalbyref.html
kspring
質問者

お礼

ご教授有難うございます! Byrefが必要だったのですね。。。 参考URLまでつけていただき有難うございます!

その他の回答 (1)

  • Hardking
  • ベストアンサー率45% (73/160)
回答No.2

test2の引数の渡し方が、値渡しになっているのが 原因です。 test2の引数の渡し方を、参照渡しにすればいいです。 public sub test2( ByRef str as string) str = "文字列" end sub

kspring
質問者

お礼

ご丁寧に有難うございます^^ 参考にさせていただきます。

関連するQ&A