Неконстантные функции-члены не могут быть вызваны для константного объекта, как toCopy
.Вы должны пометить getStart()
как const
.
const vector<int>& getStart() const { return start; }
// ^^^^^
. Кстати: ваш конструктор копирования по умолчанию инициализирует элемент данных m_start
, а затем назначит его в теле конструктора копирования.Было бы лучше реализовать как
Orbit::Orbit(const Orbit& toCopy) : m_start(toCopy.m_start) {}
, т.е. инициализировать m_start
напрямую;или примените сгенерированный компилятором тот, который делает то же самое, что и выше.