Una nota digna de legibilidad / mantenibilidad:
Puede mantener el JSONDeserializer::
calificador con la definición en su archivo de implementación (* .cpp).
Siempre que su declaración de clase (como lo mencionaron otros) no tenga el calificador, g ++ / gcc funcionará bien.
Por ejemplo:
En myFile.h:
class JSONDeserializer
{
Value ParseValue(TDR type, const json_string& valueString);
};
Y en myFile.cpp:
Value JSONDeserializer::ParseValue(TDR type, const json_string& valueString)
{
do_something(type, valueString);
}
Cuando myFile.cpp implementa métodos de muchas clases, ayuda saber quién pertenece a quién, con solo mirar la definición.