我有一个成员函数,定义如下:
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/