C++ 错误:为';指定了返回类型;运算符std::string{aka std::uuCXX11::basic_Ustring<;char>;}';
错误的可能原因和解决方案是什么 在.h文件中C++ 错误:为';指定了返回类型;运算符std::string{aka std::uuCXX11::basic_Ustring<;char>;}';,c++,string,eclipse,operator-overloading,C++,String,Eclipse,Operator Overloading,错误的可能原因和解决方案是什么 在.h文件中 std::string operator std::string(); 在.c文件中,X是一些int变量 而Y是char string ClassName::operator string() { string temp; temp = X + Y; return temp; } 转换运算符的名称是其返回类型。这意味着您没有为他们指定一个。那会给你 operator std::string(); 因为声明和定义将是
std::string operator std::string();
在.c文件中,X
是一些int
变量
而Y
是char
string ClassName::operator string()
{
string temp;
temp = X + Y;
return temp;
}
转换运算符的名称是其返回类型。这意味着您没有为他们指定一个。那会给你
operator std::string();
因为声明和定义将是
ClassName::operator string()
{
string temp;
temp = X + Y;
return temp;
}
还要注意,当
temp=X+Y时代码>将编译,它将给您一些字符,这些字符将X
放置在字符表中。如果希望123+a
成为123a
,则需要temp=std::to_字符串(X)+Y代码>