![](/img/trans.png)
[英]no match for 'operator*' (operand type is 'const string' {aka 'const std::__cxx11::basic_string<char>'})
[英]Error:return type specified for 'operator std::string {aka std::__cxx11::basic_string<char>}'
錯誤的可能原因和解決方法是什么??
在 .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();
對於聲明和定義將是
ClassName::operator string()
{
string temp;
temp = X + Y;
return temp;
}
還要注意你 while temp = X + Y;
將編譯,它會做的是給你一些在字符表中X
位置的字符。 如果您希望123 + a
為123a
那么您需要temp = std::to_string(X) + Y;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.