Ich habe ein Problem.
Ich habe ein Problem. Ich habe vor eine Bibliothek für Mathe-Funktionen zu schreiben, in der u.a. die Klasse CPunkt2DInt ist. Sie soll 2D-Koordinaten verwalten und ich bekomme beim Kompilieren 4 Fehler:
Fehler 1 error C2804: Binärer Operator '+' hat zu viele Parameter cpunkt2dint.hpp 49
Fehler 2 error C2804: Binärer Operator '-' hat zu viele Parameter cpunkt2dint.hpp 54
Fehler 3 error C2533: 'CPunkt2DInt::{ctor}': Ergebnistyp für Konstruktoren nicht zulässig cpunkt2dint.cpp 9
Fehler 4 error C2264: 'CPunkt2DInt::CPunkt2DInt': Fehler in der Funktionsdefinition oder Funktionsdeklaration, Funktion nicht aufgerufen cpunkt2dint.cpp 15
Hier sind die Dateien:
CPunkt2DInt.hpp:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
// CPunkt2DInt.hpp
// Header für CPunkt2DInt.cpp
//
class CPunkt2DInt
{
//
// Private-Sektion
//
private: //
// Membervariable für die X-Koordinate
//
signed int _X;
//
// Membervariable für die Y-Koordiante
//
signed int _Y;
//
//
// Public-Sektion
//
public: //
// Konstruktor für CPunkt2DInt
// Parameter x: Die X-Koordinate für den zu ersteelenden CPunkt2DInt
// Parameter y: Die Y-Koordinate für den zu erstellenden CPunkt2DInt
//
CPunkt2DInt(signed int x, signed int y);
//
// Eigenschaft X zu _X
//
// Operator + Addiert zwei CPunkt2DInt-Variablen komponentenasiert
// P1->X + P2->X; P1->Y + P2->Y;
//
CPunkt2DInt operator+(CPunkt2DInt P1, CPunkt2DInt P2);
//
// Operator - Subtrahiert ein CPunkt2DInt von einem anderen komponentenbasiert
// P1->X - P2->; P1->Y - P2->Y;
//
CPunkt2DInt operator-(CPunkt2DInt P1, CPunkt2DInt P2);
//
}
|
Und hier der Code für CPunkt2DInt.cpp:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
// CPunkt2DInt.cpp aus TK_Mathe_Lib32
// Implementierung zu CPunkt2DInt.hpp
// Für weitere Erklärungen siehe Header-Datei(CPunkt2DInt.hpp)
//
#include "CPunkt2DInt.hpp"
//
// Implementierung von CPunkt2DInt::CPunkt2DInt
//
CPunkt2DInt::CPunkt2DInt(signed int x, signed int y) { _X = x; _Y = y;}
//
// Implementierung von +(CPunkt2DInt, CPunkt2DInt)
//
CPunkt2DInt CPunkt2DInt::operator +(CPunkt2DInt P1, CPunkt2DInt P2)
{
return CPunkt2DInt(0,0);
}
|
Hoffentlich kann mir jemand helfen, ich bin ein Anfänger und ziemlich verzweifelt...!!!