我需要返回std :: string:
IntegerValue::(std::string) toString() {
std::string a = std::to_string(this -> value);
return a;
}
但GCC编译器说“语法错误”。怎么了?
答案 0 :(得分:3)
语法为:
std::string IntegerValue::toString() {
std::string a = std::to_string(this -> value);
return a;
}
答案 1 :(得分:2)
您的返回类型语法无效。 IntegerValue::(std::string)
这是错误的。
在您的班级中使用普通std::string
或typedef
并使用此类型。
你不能在那里使用括号。
编辑:
我注意到你只是将类范围标识符放在错误的位置。它应该在方法的名称之前,而不是返回类型。最初我以为你想要从你的班级使用一些特殊的字符串类型。
std::string IntegerValue::toString()
这就是它的全部。
答案 2 :(得分:0)
正确的语法和语义是
const std::string IntegerValue::toString() const
{
const std::string s{std::to_string(this->value)};
return s;
}