找回密码
 点一下
查看: 1089|回复: 7

缺少RETURN???

[复制链接]
发表于 2008-8-27 15:00:02 | 显示全部楼层 |阅读模式
[jass]function SafeX takes real tempx returns real
    if (tempx > udg_SafeX1 and tempx < udg_SafeX2) then
    return tempx
    endif
   
    if (tempx < udg_SafeX1) then
    set tempx = tempx + 30
    return tempx
    endif
   
    if (tempx > udg_SafeX2) then
    set tempx = tempx - 30
    return tempx
    endif

endfunction
[/jass]
请教一下哪里错了啊,为什么缺少return呢?
 楼主| 发表于 2008-8-27 15:02:51 | 显示全部楼层
难道if里面不能写return?
回复

使用道具 举报

发表于 2008-8-27 15:03:35 | 显示全部楼层
写在外面一个试试吧............

其实我也不是很懂jass.......
回复

使用道具 举报

发表于 2008-8-27 15:06:24 | 显示全部楼层
不是if里面不能有return,是return外面不能缺return
回复

使用道具 举报

 楼主| 发表于 2008-8-27 15:07:29 | 显示全部楼层
请问一下什么叫return外面不能缺return?
回复

使用道具 举报

 楼主| 发表于 2008-8-27 15:17:21 | 显示全部楼层
是必须在外面写个return吗
回复

使用道具 举报

发表于 2008-8-27 15:18:55 | 显示全部楼层
if外面,打错了………………
很显然,if外面没有return,从逻辑上来说,是会出错的,因为如果上面所有的if都不满足,那么将缺少返回值,即使这种情况不会发生,编译也不会让你通过的
回复

使用道具 举报

 楼主| 发表于 2008-8-27 15:20:04 | 显示全部楼层
对啊,说得好
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-24 20:27 , Processed in 0.088824 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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