[c++] errore di qualificazione extra in C ++


1 Answers

Ciò significa che una classe viene citata in modo ridondante con una funzione di classe. Prova a rimuovere JSONDeserializer::

Question

Ho una funzione membro definita come segue:

Value JSONDeserializer::ParseValue(TDR type, const json_string& valueString);

Quando compilo il codice sorgente, ottengo:

errore: qualifica aggiuntiva 'JSONDeserializer ::' sul membro 'ParseValue'

Cos'è questo? Come rimuovo questo errore?




Una nota degna di leggibilità / manutenibilità:

È possibile mantenere il qualificatore JSONDeserializer:: con la definizione nel file di implementazione (* .cpp).

Finché la tua dichiarazione in classe (come menzionato da altri) non ha il qualificatore, g ++ / gcc giocherà bene.

Per esempio:

In myFile.h:

class JSONDeserializer
{
    Value ParseValue(TDR type, const json_string& valueString);
};

E in myFile.cpp:

Value JSONDeserializer::ParseValue(TDR type, const json_string& valueString)
{
    do_something(type, valueString);
}

Quando myFile.cpp implementa metodi di molte classi, aiuta a sapere chi appartiene a chi, semplicemente guardando la definizione.




Related