000
11.07.2004, 18:57 Uhr
Marcel K.
|
Erst mal Hallo. Bin neu hier im Forum und lerne grad c++ aus einem Buch. Dabei bin ich auf dieses Problem gestoßen:
Wenn ich einen globalen Operator habe, und dieser binär ist (2 Argumente), dann gelingt es mir nicht in als Friend einer Klasse zu deklarieren. Dieses Beispiel geht nicht:
C++: |
#include <iostream> using namespace std;
class DayTime { private: int hour;
public: friend void operator < (DayTime&, DayTime&); };
void operator < (DayTime& a, DayTime& b) { a.hour = 10; }
int main() { return 0; }
|
Der Compiler meldet: >> "hour" : Kein Zugriff auf private Element, dessen Deklaration in der Klasse "DayTime" erfolgte. <<
Dass der operator < einen bool zurückgeben sollte ist jetzt mal nicht wichtig. Jedoch funktioniert das ganze, wenn ich die ersten beiden Zeilen mit #include und using auskommentiere. ... Kann mir jemand helfen? -- "23 ist eine gute Zahl." |