Это потому, что у вас есть следующий код:
class JSONDeserializer
{
Value JSONDeserializer::ParseValue(TDR type, const json_string& valueString);
};
Это недопустимый C ++, но Visual Studio, похоже, его принимает. Вам нужно изменить его на следующий код, чтобы иметь возможность скомпилировать его с помощью стандартного совместимого компилятора (gcc более соответствует стандарту в этом отношении).
class JSONDeserializer
{
Value ParseValue(TDR type, const json_string& valueString);
};
Ошибка возникает из-за того, что JSONDeserializer::ParseValue
это полное имя (имя с квалификацией пространства имен), и такое имя запрещено в качестве имени метода в классе.