1

このようなサブルーチンがあります。2 つのパラメーターがあります。

Sub Advance(ByRef listR() As String, rCount)
    ...code
End Sub

これを呼び出そうとすると:

Advance listR:=theList, theCount

コンパイルエラーが発生します:

予想: 名前付きパラメーター

どうしてこれなの?それはうまく動作します...

Sub Advance(rCount)
    ...code
End Sub

そして次の方法で呼び出されます:

Advance theCount

または、配列パラメーターだけでも機能します。

4

2 に答える 2

3

次のいずれかの方法でサブルーチンを呼び出すことができると思いますが、最初のパラメーターに名前を付けて、2 番目のパラメーターに名前を付けることはできません。

Advance listR:=theList, rCount:=theCount
Advance rCount:=theCount, listR:=theList
Advance theList, rCount:=theCount
Advance theList, theCount

Call Advance(listR:=theList, rCount:=theCount)
Call Advance(rCount:=theCount, listR:=theList)
Call Advance(theList, rCount:=theCount)
Call Advance(theList, theCount)
于 2012-05-02T17:15:02.753 に答える
2

MSDNから:

位置と名前を組み合わせて引数を指定する場合は、位置引数をすべて最初に指定する必要があります。引数を名前で指定したら、残りの引数はすべて名前で指定する必要があります。

于 2012-05-02T17:26:04.463 に答える