在delphi里用了一下return()结果报错,不知和return()一样的功能是哪一个,多些各位指点一下。

解决方案 »

  1.   

    C:
    return(x);对应Delphi:
    Result := x;
    exit;
      

  2.   

    晕,看着这么怪呢!
    如果是返回一个空的是不是就搞个Result就行了呢?
      

  3.   

    不是,因为return(x)并不一定出现在函数代码的最后。如果return(x)出现在函数代码的最后,则对应的就只需要Result:=x;了。例如:int f1(int a)
    {
      if (a < 5) return(1);
      if (a < 15) return(2);
      if (a < 25) return(3);
      return(4);
    }
    function f1(a: Integer): Integer;
    begin
      if a < 5 then
      begin
        Result := 1;
        exit;
      end;
      if a < 15 then
      begin
        Result := 2;
        exit;
      end;
      if a < 25 then
      begin
        Result := 3;
        exit;
      end;
      Result := 4;
    end;
      

  4.   

    用函数名作用和result一样~Result := 4;也就是f1 := 4;
      

  5.   

    Delphi里面的方法(Method)有两种类型:
    1. 过程(procedure)
    2. 函数(function)两者最大的区别就是:函数需要返回类型,而过程没有。每个函数里面有一个隐含的变量:Result。需要注意的有两点:
    1. Result是局部变量,本身是分配在栈上的。
    2. Result需要被初始化(赋值)。另外,有的时候为了提高速度,可以使用out类型的参数。如:function GetIntf: IInterface;
    ->
    procedure GetIntf(out intf: IInterface);