Domanda

Questa dichiarazione di funzione mi dà errori:

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

Gli errori sono:

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

mano è una classe che ho fatto, display è un membro di dati pubblici di tipo char*.

Qualcuno può dirmi che cosa sto facendo male?

È stato utile?

Soluzione

La dichiarazione guarda a destra. Ma il messaggio di errore suggerisce che ostream non è conosciuto come un tipo. Prova inclusa l'intestazione iostream e dire std::ostream invece.

Un'altra cosa che dovrebbe prendere in considerazione sta facendo il parametro 'mano' un riferimento const. Così si potrebbe anche accettare provvisori e stamparle.

Altri suggerimenti

è presente all'interno di un colpo di testa? allora probabilmente hai bisogno di dire std::ostream. Assicurati di #include<iosfwd>.

Inoltre, probabilmente si può dire const hand&.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top