[C++] C ++中的額外限定錯誤


Answers

這意味著一個類被冗餘地提到一個類函數。 嘗試刪除JSONDeserializer::

Question

我有一個成員函數,定義如下:

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

當我編譯源代碼時,我得到:

錯誤:額外資格'JSONDeserializer ::'在成員'ParseValue'

這是什麼? 我如何刪除這個錯誤?




值得注意的是可讀性/可維護性:

您可以將JSONDeserializer:: qualifier與定義保存在您的實現文件(* .cpp)中。

只要你的類聲明(正如其他人所提到的)沒有限定符,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實現許多類的方法時,只要查看定義就知道誰屬於誰。