该错误的可能原因和解决方案是什么?
在.h文件中
std::string operator std::string();
.c文件X
中有一些int
变量
而Y
是char
string ClassName::operator string()
{
string temp;
temp = X + Y;
return temp;
}
答案 0 :(得分:5)
转换运算符的名称是其返回类型。这意味着您不为它们指定一个。那会给你
operator std::string();
声明和定义为
ClassName::operator string()
{
string temp;
temp = X + Y;
return temp;
}
还请注意,虽然temp = X + Y;
会进行编译,但它会给您一些字符,该字符将X
放在字符表中。如果您希望123 + a
成为123a
,则需要temp = std::to_string(X) + Y;