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不支持这种定义方式么?
展开
 我来答
ghnjk
2011-11-18 · TA获得超过106个赞
知道小有建树答主
回答量:95
采纳率:0%
帮助的人:120万
展开全部
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报错了!
谦逊且鲜丽丶仓鼠6581
2011-11-18 · TA获得超过6.2万个赞
知道小有建树答主
回答量:2.3万
采纳率:0%
帮助的人:2963万
展开全部
dim i,num as integer
这句话翻译成中文是
“定义两个变量,其中i为VB的缺省变量类型变体类型(Variant),num为整型类型(integer)”
而不是QB里面的两个变量定义为integer类型,明白吗

而后你的函数aa要求必须传入integer类型的参数a,所以会出现这个错误,
这个错误是“按地址传送的参数类型不匹配”

懂了吗

看起来你根本就没好好学啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式