Uma nota importante para legibilidade / manutenção:
Você pode manter o JSONDeserializer::
qualificador com a definição em seu arquivo de implementação (* .cpp).
Contanto que sua declaração em classe (como mencionado por outros) não tenha o qualificador, g ++ / gcc funcionará bem.
Por exemplo:
In myFile.h:
class JSONDeserializer
{
Value ParseValue(TDR type, const json_string& valueString);
};
E em myFile.cpp:
Value JSONDeserializer::ParseValue(TDR type, const json_string& valueString)
{
do_something(type, valueString);
}
Quando myFile.cpp implementa métodos de muitas classes, ajuda a saber quem pertence a quem, apenas olhando para a definição.