VB函数缺省的判断
privatefunctionabc(byvalaaslong,byvalbaslong,byvalcaslong)aslongabc=a+b+cendfunction这...
private function abc (byval a as long ,byval b as long ,byval c as long)as long
abc = a+b+c
end function
这是乱写的小函数
如果我调用时缺省了一个参数,怎么判断?
比如d = abc(1,2)或者d = abc(1,,3)
我怎么判断哪个参数木有写?
发错区域。望不要删 展开
abc = a+b+c
end function
这是乱写的小函数
如果我调用时缺省了一个参数,怎么判断?
比如d = abc(1,2)或者d = abc(1,,3)
我怎么判断哪个参数木有写?
发错区域。望不要删 展开
5个回答
展开全部
如果你在定义函数时没有使用optional关键字的话,不会通过编译的.自然也就不存在判断的问题了.
转VB了.
转VB了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
private function abc(optional a as long=0,optional b as long=0,optional c as long=0)
abc=a+b+c
end function
'//调用
kk=abc(1,,3)
abc=a+b+c
end function
'//调用
kk=abc(1,,3)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
记得VB中,对于未初始化的量,都按0值处理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
人家问的是判断,不是怎么调用。但是提示者的函数写法也不对。可缺省参数前面要放置optional,判断是否忽略参数用IsMissing。比如:
'定义函数:
Private Function Test(Optional a As String, Optional b As String, Optional c As String) As Long
Debug.Print StrPtr(a), StrPtr(b), StrPtr(c)
End Function
'调用:
Test "",,"text"
这样,你就可以在立即窗口看到结果了。StrPtr只针对vbNullString的字符串有效,如果有传递,即使是""也会有地址返回,如果是忽略的参数,就会返回0,对于数字型参数无能为力,只要optional建立就会有地址,因为不设置值,默认值就是0,也是合法数字。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询