Q&A

  • 오버로딩 선언부..
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    function pro(a: string): string; overload;    <--- 에러 없다.
    function pro(a: integer): integer; overload; <---에러 없다.
    { Public declarations }
  end;


type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    function pro(a: string): string; overload;    <--- 에러 없다.
  private
    { Private declarations }
  public
    function pro(a: integer): integer; overload; <---에러 없다.
    { Public declarations }
  end;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    function pro(a: string): string; overload;    <--- 에러 발생
    function pro(a: integer): integer; overload; <---에러 발생
  private
    { Private declarations }
  public
    { Public declarations }
  end;


위 3가지가 왜 그런지 궁금하네요.. ^^
1  COMMENTS
  • Profile
    최용일 2002.03.13 22:46
    안녕하세요. 최용일입니다.

    multiple overload method는 published절에는 사용할 수가 없습니다. 그래서 에러가 난 거네요... 쉽게 말하자면 published부분에는 같은 이름의 메소드가 올 수 없습니다. published에 있는 것들은 유일해야 하거든요...

    pirvate바로 위에 있는 부분들도 published입니다.

    ^^ 항상 즐코하세요...