Einzelnen Beitrag anzeigen

Lyan

Registriert seit: 5. Aug 2011
188 Beiträge
 
#6

AW: [C++] Was geschieht hier genau?

  Alt 19. Dez 2014, 15:41
Delphi-Quellcode:
type
  vec2 = packed record
    x,y:double;
    constructor Create(xi, yi: Double);
    class operator add(v1, v2: vec2): vec2;
    class operator subtract(v1, v2: vec2): vec2;
    class operator multyply(d : double; v1 : vec2): vec2;
  end;

  TMainFrm = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;


var
  MainFrm: TMainFrm;

implementation

{$R *.dfm}

constructor vec2.Create(xi, yi: Double);
begin
  x := xi;
  y := yi;
end;

class operator vec2.add(v1, v2: vec2): vec2;
begin
  Result.x := v1.x + v2.x;
  Result.y := v1.y + v2.y;
end;

class operator vec2.subtract(v1, v2: vec2): vec2;
begin
  Result.x := v1.x - v2.x;
  Result.y := v1.y - v2.y;
end;

class operator vec2.multyply(d : double; v1 : vec2): vec2;
begin
  Result.x := d * v1.x;
  Result.y := d * v1.y;
end;
Bei dem multyply gibt es eine Fehlermeldung, eine Ahnung woran das liegt? (#36h awake braindead)

Delphi-Quellcode:
[dcc32 Fehler] UnitMain.pas(15): E2393 Ungültige Operatordeklaration
[dcc32 Fehler] UnitMain.pas(15): E2029 ',' oder ')' erwartet, aber ':' gefunden
[dcc32 Fehler] UnitMain.pas(15): E2086 Typ 'vec2' ist nicht vollständig definiert
[dcc32 Fehler] UnitMain.pas(16): E2029 Typ erwartet, aber 'END' gefunden

lg

Geändert von Lyan (19. Dez 2014 um 15:44 Uhr)
  Mit Zitat antworten Zitat