我有一个成员函数,定义如下:

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

当我编译源代码时,我得到:



这是什么?如何清除此错误?

最佳答案

这是因为您具有以下代码:

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是限定名称(具有 namespace 限定的名称),并且此类名称在类中被禁止作为方法名称。

关于c++ - C++中的额外资格错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5642367/

10-11 18:53