找回密码
 加入
搜索
查看: 2799|回复: 5

[AU3基础] (已解决)定义函数参数时加入Byref后就不可以给之前的参数赋值?

  [复制链接]
发表于 2011-5-4 09:44:44 | 显示全部楼层 |阅读模式
本帖最后由 yarsye 于 2011-5-4 15:03 编辑
dim $a 
test(2,3,$a)
msgbox(0,1,$a)
func test($x = 2, $y = 3,byref $z)
$z = $x+$y
endfunc
这样是会报错的 说:all params followed by optional params must be optional  意思应该是说 :通过可选的参数,必须遵守所有参数是可选的
不太懂他的意思,当然当我把func test($x = 2, $y = 3,byref $z) 中$x,$y不赋值就行了,这是为什么?是不可以在byref之前的参数赋值吗?

解决:楼下两位两大的解释很到位,为什么我就不能独立分析出来呢,只是在你们讲了后才明白。
     感谢楼下大侠了
发表于 2011-5-4 10:02:14 | 显示全部楼层
个人理解,可选参数应该放到所有参数的后面吧.
dim $a 
test($a)
msgbox(0,1,$a)
func test(byref $z,$x = 2, $y = 3)
        if $x=0 then $x=2
        if $y=0 then $y=3
        $z = $x+$y
endfunc
 楼主| 发表于 2011-5-4 10:28:27 | 显示全部楼层
回复 2# 3mile


    谢谢 !
   原来如此啊。
发表于 2011-5-4 13:32:45 | 显示全部楼层
all params followed by optional params must be optional
所有由可选参数跟随的参数必须也是可选的
 楼主| 发表于 2011-5-6 10:58:03 | 显示全部楼层
感谢了 结贴
发表于 2015-10-17 23:44:08 | 显示全部楼层
学习了,谢谢上面2位的解疑
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-27 01:09 , Processed in 0.076385 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表