???

解决方案 »

  1.   

    当然,可能说如果使用变参的话可能就不用考虑这个问题
    但是既然程序允许 result:=类.Create 这样来使用
    一定有它的道理的,所以我就想知道这样产生的内存块怎么来释放呢?
    我想不出应该在什么时候释放它
      

  2.   

    显然,在函数里面不能使用 result.free 的
    因为这样用的话,那函数就无法返回值了而在函数外面又是不能使用 result 的
      

  3.   

    我不明白你想做什么用,你这里的RESULT是指的函数中的RESULT啊
      

  4.   

    你直接声明这个类的实例不就可以了,干吗要用RESULT
      

  5.   

    用一个类变量去接受result,然后调用那个变量的free就可以了
      

  6.   

    这样的意思就是:我有一个函数,这个函数要返回一个TStringList (举例)显然,这样的话我肯定得在 函数体内先建立一个 TStringList 的实例
    然后将该实例作为引用返回到需要这个值的地方还不明白?
    那我问大家一个问题:
    函数能否返回非基本类型的数值?(非int、string等类型)
    如果可以,这个问题便产生了
      

  7.   

    呵呵,如果使用zjm107(雪中情) 的方法
    那我还不如使用变参呢
      

  8.   

    使用变参可以回避问题。想想zjm107(雪中情)的办法是唯一的办法
    因为你产生了一个内存块,又必须去消除它,而如果不用一个变量来指向这个内存区的话,这个内存块显然成了没爹娘的孤儿,没人认领,当然释放不掉了呵呵,不知道这样理解对不对