1
我正在通过ByVal和ByRef through MSDN,其中提到了当我们通过ByVal传递参数时,值总是由ByVal传递。ByVal指定时,为什么总是ByRef?
在我的下面的例子总是通过ByRef。我究竟做错了什么?
Function sampleFunction(ByVal val) 'Even though here i am passing as ByVal it is taking as ByRef
val=val+1
sampleFunction=val
End Function
x=50
temp=sampleFunction(x)
msgbox temp 'prints 51
如何从函数返回时通过ByVal传递参数?
你似乎是用一个返回值的概念混淆引用传递变量。如果你在'sampleFunction'之后调用'msgbox x',它将打印50。 – dlev