找回密码
 点一下
查看: 2035|回复: 8

[已解决]对于返回值为location,unit,timer之类的函数怎么清空好?

[复制链接]
发表于 2008-6-20 15:42:45 | 显示全部楼层 |阅读模式
比如 function a takes real a,unit u1 returns unit
               local real a1=a
               local unit u=u1
               local unit u2
                。。。。。。。。。。。
        。。。。。。。。。。。
        set u2=。。。
        set u=null
        return u2
      endfunction
问题是这里set u2=null既不能写在return前也不能写在之后,难道非得用个缓存来存。
或者不用返回为location,unit,timer之类的函数?
发表于 2008-6-20 15:48:52 | 显示全部楼层
把对u2赋值这步去掉,不用u2这个变量,直接return 。。。不可以吗………………
回复

使用道具 举报

发表于 2008-6-20 15:57:43 | 显示全部楼层
变量记录返回值,然后置null。
回复

使用道具 举报

 楼主| 发表于 2008-6-20 16:28:20 | 显示全部楼层
变量记录返回值?
你该不是说还弄个全局变量吧 。。。。
回复

使用道具 举报

发表于 2008-6-20 16:47:54 | 显示全部楼层
引用第2楼thody于2008-06-20 15:57发表的  :
变量记录返回值,然后置null。
就是说在取用时再set null?
回复

使用道具 举报

发表于 2008-6-20 19:48:50 | 显示全部楼层
globals
     unit  a_u2
endglobals

function a takes real a,unit u1 returns unit
              local real a1=a
              local unit u=u1
              local unit u2--------------------------------------------------//删掉这一行
                。。。。。。。。。。。
        。。。。。。。。。。。
        set u2=。。。
        set u=null
        return u2
      endfunction

u2是一个全局变量,所以就不用set null了.
回复

使用道具 举报

发表于 2008-6-20 19:52:17 | 显示全部楼层
如果local udg打头的一个全局变量会发生什么事?
回复

使用道具 举报

发表于 2008-6-23 16:47:52 | 显示全部楼层
不会怎么样
好像还是局部变量
回复

使用道具 举报

发表于 2008-6-27 14:05:23 | 显示全部楼层
这种不需要清空, 不会泄露.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 07:43 , Processed in 0.041226 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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