procedure(a,b,c,d:integer = 0);

解决方案 »

  1.   

    打错了
    procedure sum (a,b,c,d:integer = 0);
      

  2.   

    应该这样
    procedure sum(a:integer=0;b:Integer=0;c:integer=0;d:integer=0);
    或者
    procedure sum(const a:integer=0;const b:Integer=0;const c:integer=0;const d:integer=0);
      

  3.   

    Liujc(阿聪) 说的一点也不错!不用怀疑了
      

  4.   

    object Pascal有此功能啊,用overload关键字重载:
     //申明
     procedure sum(a,b,c,d:integer);overload;
     procedure sum(a,b,c:integer);overload;
     procedure sum(a,b:integer);overload;
     procedure sum(a:integer);overload;
    //实现 procedure sum(a,b,c,d:integer);overload;
     begin
         sum := a+b+c+b;
     end; procedure sum(a,b,c:integer);overload;
     begin
         sum(a,b,c, 0);
     end; procedure sum(a,b:integer);overload;
     begin
         sum(a,b,0, 0);
     end; procedure sum(a:integer);overload;
     begin
         sum(a,b,0, 0);
     end;//以上写法,可以实现一个过程名不同调法。
      

  5.   

    object Pascal有此功能啊,用overload关键字重载:
     更正一点,实现时后面不能加overload //申明
     procedure sum(a,b,c,d:integer);overload;
     procedure sum(a,b,c:integer);overload;
     procedure sum(a,b:integer);overload;
     procedure sum(a:integer);overload;
    //实现 procedure sum(a,b,c,d:integer);
     begin
         sum := a+b+c+b;
     end; procedure sum(a,b,c:integer);
     begin
         sum(a,b,c, 0);
     end; procedure sum(a,b:integer);
     begin
         sum(a,b,0, 0);
     end; procedure sum(a:integer);
     begin
         sum(a,b,0, 0);
     end;//以上写法,可以实现一个过程名不同调法
      

  6.   

    用动态数组是最好的办法,如:procedure sum(arr: array of integer)
    你可随意输入多少形参,也可不输入
      

  7.   

    用overload,类型不同并没有影响啊!
      

  8.   

    看来是我出错了
    procedure sum(a:integer=0;b:Integer=0;c:integer=0;d:integer=0);