簡體   English   中英

從'int'到'const char *'的無效轉換[-fpermissive]

[英]invalid conversion from 'int' to 'const char*' [-fpermissive]

我已經跳過了上面的部分,這是一個使用打印名稱,年齡和標准的類的普通c ++程序

代碼如下:

string to_string()
{
    return age,last_name,first_name,standard; //PROBLEM IS HERE
}
};

int main() {
    int age, standard;
    string first_name, last_name;

    cin >> age >> first_name >> last_name >> standard;

    Student st;
    st.set_age(age);
    st.set_standard(standard);
    st.set_first_name(first_name);
    st.set_last_name(last_name);


    cout << st.get_age() << "\n";
    cout << st.get_last_name() << ", " << st.get_first_name() << "\n";
    cout << st.get_standard() << "\n";
    cout << "\n";
    cout << st.to_string();

    return 0;
}
string to_string()
{
    return age,last_name,first_name,standard; //PROBLEM IS HERE
}

我假設您要將所有成員數據連接到一個字符串中並返回該字符串,但是逗號運算符只是求出其第一個表達式,丟棄該值,然后返回第二個表達式的值。

您可以創建一個std::string然后重復附加到它。 我認為std::stringstream對於這樣的事情來說有點干凈:

string to_string()
{
    std::stringstream ss;
    ss << age << ' ' << last_name << ' ' << first_name << ' ' << standard;
    return ss.str();
}

暫無
暫無

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

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