VB中dim i,j as integer 这种用法不可以么?
定义了一个函数:functionaa(aasinteger)asingeter然后主程序中:dimi,numasintegernum=aa(i)运行就提示我byrefar...
定义了一个函数:function aa ( a as integer) as ingeter
然后主程序中:
dim i ,num as integer
num=aa(i)
运行就提示我byref argument type mismatch
换成dim i as integer
dim num as integer
这种就没有问题了……这是什么情况啊?难道VB不支持这种定义方式么? 展开
然后主程序中:
dim i ,num as integer
num=aa(i)
运行就提示我byref argument type mismatch
换成dim i as integer
dim num as integer
这种就没有问题了……这是什么情况啊?难道VB不支持这种定义方式么? 展开
2个回答
展开全部
VB是支持这样子定义的,dim i ,num as integer这句话其实是这样子的:
dim i
dim num as integer其中i是默认的Variant类型,不是integer类型, num才被定义为integer
正确的写法是:dim i as integer,num as integer
这样子就像我们定义函数中参数的function func(byval i as integer,byval j as integer)都应该指出来;
其实函数中可以这样定义的function func(i,num as integer)as integer这样就和你的申明一样了,第一个是默认的Variant类型,第二个是integer
还有就是在VB中integer可以隐式(就是不用特别说明)装换为Variant 而反过来要显示转换!所以,VB报错了!
dim i
dim num as integer其中i是默认的Variant类型,不是integer类型, num才被定义为integer
正确的写法是:dim i as integer,num as integer
这样子就像我们定义函数中参数的function func(byval i as integer,byval j as integer)都应该指出来;
其实函数中可以这样定义的function func(i,num as integer)as integer这样就和你的申明一样了,第一个是默认的Variant类型,第二个是integer
还有就是在VB中integer可以隐式(就是不用特别说明)装换为Variant 而反过来要显示转换!所以,VB报错了!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询