08/09/25 15:51:51
VBの言語仕様ってのは、Visualでない昔の無印BASICから
少しずつ互換性を考慮しながら拡張してきたせいだよ。
VBの関数の引数にByValを省略時のデフォルトが参照渡しなのは
無印BASICには関数が無く、あるのはサブルーチンと呼ばれるものだけ。
サブルーチンに引数は無く、グローバル変数で代用。
そういう言語で書かれていたコードを、関数のある上位バージョンに
移植するには省略時に参照渡しであった方が都合がよかったんだよ。
なんでこんな仕様なんだろうと思ったのなら
一つずつVBのバージョンをさかのぼっていけばいい。
理由はそれでわかる。