Seite 1 von 1

altes C++ projekt

Verfasst: 20.11.2020 12:16
von HeX0R
Ich wollte ein uraltes C++ Projekt (nicht von mir) mal neu komilieren, weil da ein paar Fehler drin sind.
Das ganze wurde wohl vor Jahrzehnten mit einem uralten Compiler erstellt, ich bekomme also tausende Fehlermeldungen.

Das Konstrukt hier verstehe ich nicht wirklich und bekomme auch "Der explizite Typ" fehlt Meldungen beim kompletten zweiten Block:

Code: Alles auswählen

// Operators
public:
	operator CString() const;
	operator int() const;
	operator float() const;
	operator double() const;
	operator DWORD() const;
	operator CTime() const;
	operator __int64() const;

	operator = (const CString &rhs);
	operator = (int rhs);
	operator = (float rhs);
	operator = (double rhs);
	operator = (DWORD rhs);
	operator = (CTime rhs);
	operator = (__int64 rhs);
Wie müsste man das denn umbauen, dass der Kompiler nicht mehr meckert?

Re: altes C++ projekt

Verfasst: 20.11.2020 21:04
von DarkDragon
Vermutlich ist der Rückgabewert gemeint. D.h. vor alle operator Überladungen muss der Rückgabewert definiert werden (in diesem Fall vermutlich Referenz aufs eigene Objekt):

Code: Alles auswählen

class X {
...
    X& operator=(...);
};
Aber bin gerade nicht am Rechner. Daher ist das nur eine Vermutung.

Re: altes C++ projekt

Verfasst: 21.11.2020 08:40
von DrShrek
HeX0R hat geschrieben: Wie müsste man das denn umbauen, dass der Kompiler nicht mehr meckert?
Nimm den damaligen Compiler aus der schublade. Dann geht es bestimmt auch.

Schon mal gegoggelt nach "operator"? (faule Socke!)

Re: altes C++ projekt

Verfasst: 21.11.2020 13:35
von HeX0R
Is nicht von mir (wie bereits gesagt... Brille?), ergo => da liegt kein alter Compiler in der Schublade!
Hab's jetzt allerdings soweit hinbekommen, nur noch 14 Fehler...

Re: altes C++ projekt

Verfasst: 21.11.2020 14:19
von Kiffi
HeX0R hat geschrieben:nur noch 14 Fehler...
14 little bugs in the code, 14 little bugs in the code. Take one down, patch it around. 117 little bugs in the code.