2015-09-25 3 views
0

я пропустил выше часть Это нормально с программой ++ с помощью классов, которая выводит имя, возраст и стандартнедействителен преобразование из «Int» в «сопзЬ символ *» [-fpermissive]

код выглядит следующим образом:

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; 
} 
+1

Что именно вы хотите достичь с помощью этого 'return'? – SingerOfTheFall

+0

Я хочу, чтобы все строки (имя, возраст, стандарт) приходили в одну строку –

+0

Итак, вы просто предположили, что можете объединить строки с помощью оператора запятой? Вы должны искать такие вещи, когда не знаете. – aslg

ответ

3
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(); 
} 
+0

Затем в этих операциях возникает ошибка: Student st; st.set_age (возраст); st.set_standard (стандарт); st.set_first_name (first_name); st.set_last_name (last_name); undefined ссылка на Student :: set_blah –

+0

@ A.Bora вы определили эти функции? Вы связались с созданным объектным файлом? Эти ошибки содержатся в коде, который вы здесь не указали. – TartanLlama

+0

но arent те встроенные функции #include ? –

Смежные вопросы