//Add_ship method bool
fleet::add_ship(ship const & s)
{
ships.push_back(&s); (No matching member function for call to 'push_back')
return true;
}
Ошибка из-за объявления:
std::vector<ship*> ships;
Вектор содержит указатели на изменяемые корабли, но код передает указатель на постоянный корабль на push_back
.Вам нужно либо сохранить указатели констант в векторе:
std::vector<const ship*> ships;
, либо передать неконстантный указатель на push_back:
fleet::add_ship(ship & s)
{
ships.push_back(&s); (No matching member function for call to 'push_back')
return true;
}
Примечание: переместите указанную выше функцию в cpp,переместите его в тело класса или объявите / определите его как встроенный, если вы не хотите получать ошибки компоновщика.