Der folgende C ++ - Code gibt beim Kompilieren einen Fehler aus:
%Vor%Der folgende Fehler bekomme ich:
%Vor%Wenn ich class vor der Anweisung 'time T1, T2, T3;' hinzufüge, funktioniert es gut.
Warum funktioniert es nicht ohne die Klasse ?
Ihr Compiler definiert std::time
und erwartet daher entweder time(...);
oder% Code%. Der Klassenname time;
ist mehrdeutig, daher wird das Schlüsselwort time
benötigt. Um dies zu verhindern, verwenden Sie nicht class
oder benennen Sie Ihre Klasse um.
Vergessen Sie nicht, das Namensraum-Qualifikationsmerkmal using namespace std;
zu std::
hinzuzufügen, wenn Sie cout
fallen lassen.
Ich empfehle, alle Compiler-Warnungen ( using namespace std;
in g ++) zu aktivieren, um solche Fehler in Zukunft zu vermeiden, da GCC darauf hinweist, dass etwas nicht stimmt:
temp.cc:33:20: Warnung: Ausdruck ist eine Referenz, kein Aufruf der Funktion »time« [-Waddress] temp.cc:33:20: Warnung: Ausdruck hat keine Auswirkung [-Wundungswert]