如: const x: array[0..10] of integer=(.....);
写一个函数或过程返回这个x.要直接返回,不要复制的,因为我的数组可能是一个复杂的record.

解决方案 »

  1.   

    KingofBookWorm(书虫王) 
    当然不行,x并不是全局变量。我要在其他单元里调,而且要根据条件返回不同的数组。
      

  2.   

    究竟有没有人知道啊,不是说C++能做的delphi都能吗!
      

  3.   

    >>写一个函数或过程返回这个x.要直接返回,不要复制的,因为我的数组可能是一个复杂的record.
    將其指針返回, 不就行了嗎???
      

  4.   

    不知道意义何在?对于const数组,一般会声明为全局变量,至少也是一个类的全局变量,如果你在过程或函数中声明这样的const数组,函数或过程结束,这块内存就释放了,你传回指针最后只能造成AV错误。而且也是不好的编程习惯。这个不是C++能不能做的问题,而是你的方法的问题
      

  5.   

    赫赫,Linux2001(恋人不如自恋)老大
    我的数组是在一个unit中是全局的,但是可能有多个这样的数组,我用不同的派生虚函数来返回不同的数组,也就是说想对外部隐藏它的具体实现。当然也可以都定义成动态数组,但因为他们的值是固定的,我想在定义时就完成初始化。这可以理解吧。希望你能再给点意见。 aiirii(ari) 
    返回一个指针,怎么返回,用pointer(...)行吗,会提示不正确的类型转换。
      

  6.   

    我解决了,但不是很好,方法是同时返回数组首地址和数组长度。这样数组就不再是const了,还要用指针运算遍历数组。谁有办法能直接作为数组返回?高手高高手快来