簡體   English   中英

錯誤:為&#39;operator std::string {aka std::__cxx11::basic_string 指定的返回類型<char> }&#39;

[英]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 + a123a那么您需要temp = std::to_string(X) + Y;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM