1。函数的参数不知道是什么类型是,应该怎么声明。
2。什么函数可以返回,某个参数的类型。
3。如果不知道函数返回什么类型的值时,应该怎么声明,怎么函数怎么调用。如果参数传入的是个整型,那函数就返回整型,
如果参数是STRING,那函数就返回STRING。
以此类推

解决方案 »

  1.   

    用 Variant 吧, 要么就用 overload ,让该函数支持不同的参数!
      

  2.   

    //同意aiirii,还有种方法是直接操作内存~~
    procedure Iif(mBool: Boolean; const mDataA, mDataB; var nReturn; mSize: Integer);
    begin
      if mBool then
        Move(mDataA, nReturn, mSize)
      else Move(mDataB, nReturn, mSize)
    end; { Iif }procedure TForm1.Button1Click(Sender: TObject);
    var
      A, B, C: string;
      I, J, K: Integer;
    begin
      A := 'A';
      B := 'B';
      Iif(A < B, A, B, C, SizeOf(A));
      ShowMessage(C);  I := 10;
      J := 12;
      Iif(I < J, I, J, K, SizeOf(I));
      ShowMessage(IntToStr(K));
    end;