VB byval问题

最近在学API可是调用是总是出错,原因是不知道什么时候要用到byval,求高手给一个简单的实例,谢谢!!
原错的:RegEnumValue(Ret, Cnt, tmpValue, 255, 0, 0&, 0&, 0&)

改正的:RegEnumValue(Ret, Cnt, tmpValue, 255, 0, ByVal 0&, ByVal 0&, ByVal 0&)

不知道的时候都用 byval
VB6.0默认的是 byref 传址 而这个太不习惯啦,因为大多数都是传值的计算,所以在VB.Net就改成默认传值啦
所以我在写函数的时候一般都加 byval 标记为传值,除非有特殊的时候 我需要改变原来的参数的值,这种需求我还没遇见过
建议你再看看 传值 与传址的章节
在API中一般是指针,参数是返回的结果的一部分,等要求传址, 其他的传值
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-03-07
你的概念有误。
这个关键字,与声明过程有关,与你调用的时候没有关系,只要类型一致就可以了。
相似回答