= a.begin(); it != a.end(); ++it)
{
if (it->getNumber() == user_train)
{
cout << it->getDestination() << '\t' << it->getDeparture() << endl;
found = true;
break;
}
}
Ошибка error: conversion from ‘__normal_iterator’ to non-scalar type ‘__normal_iterator’ requested
82 | for(vector <train>::iterator it = a.begin(); it != a.end(); ++it)
Что нужно изменить? Сорри я не шарю особо в языке, делаю проект в шкалку
измените подход к обучению
Писать тип итератора ручками та ещё могила, конечно. Попробуй авто
bool found = false; for(const auto & el : a) { if (el.getNumber() == user_train) { cout << el.getDestination() << '\t' << el.getDeparture() << endl; found = true; break; } }
Ошибок куча теперь, эхххх(
может там C++03, без кода ничего не сказать
main.cpp: In function 'void info_one_train(const std::vector<train>&)': main.cpp:84:26: error: passing 'const train' as 'this' argument discards qualifiers [-fpermissive] 84 | if (el.getNumber() == user_train) | ^ main.cpp:23:9: note: in call to 'int train::getNumber()' 23 | int getNumber() | ^~~~~~~~~ main.cpp:86:39: error: passing 'const train' as 'this' argument discards qualifiers [-fpermissive] 86 | cout << el.getDestination() << '\t' << el.getDeparture() << endl; | ^ main.cpp:31:12: note: in call to 'std::string train::getDestination()' 31 | string getDestination() | ^~~~~~~~~~~~~~ main.cpp:86:68: error: passing 'const train' as 'this' argument discards qualifiers [-fpermissive] 86 | cout << el.getDestination() << '\t' << el.getDeparture() << endl; | ^ main.cpp:27:12: note: in call to 'std::string train::getDeparture()' 27 | string getDeparture() | ^~~~~~~~~~~~
Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!
Ардуино там, да...
'int train::getNumber()' — вот эти функции все должны быть CONST 'int train::getNumber() const' Исправляй все три
Обсуждают сегодня