2012-05-02 23 views
1

私はこのようなサブルーチンを持っています。これには2つのパラメータがあります。私はこれを呼び出すしようとすると複数のパラメータを渡すことができません

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

Advance listR:=theList, theCount 

をそれは私にコンパイルエラーを与える:

Expected: named parameter

これはなぜでしょうか?

Advance theCount 

あるいはまた、単に配列パラメータで動作します。それは...等を介して

Sub Advance(rCount) 
    ...code 
End Sub 

と呼ばれるが正常に動作します。

答えて

3

は私が名前を付ける秒1、あなたのサブ次のいずれかの方法を呼び出すことができますが、最初のパラメータを指定することはできませんし、ないと信じている:

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) 
2

MSDNから:

When you supply arguments by a mixture of position and name, the positional arguments must all come first. Once you supply an argument by name, the remaining arguments must all be by name.

+0

+1私はそれを探していたが見つけられなかった。 – assylias

関連する問題