Frage

Diese Funktion Erklärung gibt mir Fehler:

ostream& operator<<(ostream& os, hand& obj);

Die Fehler sind:

error C2143: syntax error : missing ';' before '&'
error C4430: missing type specifier
error C2065: 'os' : undeclared identifier
error C2065: 'obj' : undeclared identifier
error C2275: 'hand' : illegal use of this type as an expression
    see declaration of 'hand'
error C4430: missing type specifier

Hand ist eine Klasse I gemacht, Display ein öffentliches Daten ist Mitglied des Typ char*.

Kann mir jemand sagen, was ich falsch mache?

War es hilfreich?

Lösung

Die Deklaration sieht richtig. Aber die Fehlermeldung deutet darauf hin, dass ostream nicht als eine Art bekannt ist. Versuchen Sie, einschließlich der iostream Header und sagen std::ostream statt.

Eine andere Sache, die Sie berücksichtigen sollten, macht der Parameter ‚Hand‘ eine konstante Referenz. So könnte man auch Provisorien akzeptieren und ausdrucken.

Andere Tipps

ist dies in einem Header? dann müssen Sie wahrscheinlich std::ostream sagen. Stellen Sie sicher, dass Sie #include<iosfwd>.

Sie können aber auch wohl sagen const hand&.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top