[c++] C ++에서 추가 자격 오류


1 Answers

이것은 클래스가 클래스 함수로 중복 언급된다는 것을 의미합니다. JSONDeserializer:: 제거 JSONDeserializer::

Question

다음과 같이 정의 된 멤버 함수가 있습니다.

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

소스를 컴파일하면 얻을 수 있습니다.

오류 : 'ParseValue'멤버에 대한 추가 자격 'JSONDeserializer ::'

이게 뭐야? 이 오류를 어떻게 제거합니까?




가독성 / 유지 가능성에 대한 가치있는 메모 :

구현 파일 (* .cpp)의 정의로 JSONDeserializer:: 한정자를 유지할 수 있습니다.

다른 사람들이 언급 한 바와 같이 클래스 선언문에 한정자가 없으면 g ++ / gcc가 좋게 재생됩니다.

예 :

myFile.h :

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

그리고 myFile.cpp :

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

myFile.cpp가 여러 클래스의 메소드를 구현할 때 정의를 보면 누가 누구에게 속하는지 알 수 있습니다.




Related