Dim a,b as long =Dim a as long Dim b as long ????

nik_Amis 2002-07-22 11:06:02
1.
Dim a,b as long
2.
Dim a as long
Dim b as long

1=2??

不等于!!

函数
GetMyData(byval lData1 as long ,byref lData2 as long ,byref lData3 as long)

Call getMyData(4,a,b)

引发错误:ByRef argument type mismatch

这是为什么?
1的分配了内存
2的没有??



...全文
344 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
shortkey 2002-07-22
  • 打赏
  • 举报
回复
Dim a, b As Long
这样来声明变量,实际上只有b被指定了类型,而a是Variant型。它们的默认的初始值不同。
Iamfish 2002-07-22
  • 打赏
  • 举报
回复
dim a as long,b as long

=

dim a as long
dim b as long

听说VB.net中可以dim a,b as long
chi_ke 2002-07-22
  • 打赏
  • 举报
回复
不可以连起来定义
一定要分开,否则a地定义类型是Variant,你说地没错
lingll 2002-07-22
  • 打赏
  • 举报
回复
楼主说的没错
Chice_wxg 2002-07-22
  • 打赏
  • 举报
回复

VB规定:必须对每个变量都进行声明


如果想免去重复声明,可以用:

DefLng A-Z (添加到窗口代码通用部分) 进行设置,把变量缺省都设置为Long类型

jo_yoko 2002-07-22
  • 打赏
  • 举报
回复
VB中就是这样子的,不可以一次定义几个变量
必须定义每一个变量才可以,所以如果你想定义几个变量,就必须用你的第2种
nik_Amis 2002-07-22
  • 打赏
  • 举报
回复
a被当成了Variant ,所以他的初始值是Empty而不是0
实际应该用这种形式:dim a as long , b as long

大家怎么认为?

这是bug还是我自己用错了?

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧