Функция:
void Addvec(const vector<int> &v)
заявляет: я беру ссылку на вектор констант целых, поэтому я гарантирую, что я не буду его изменять.
Но позже вы попробуйте ввести в него sh целое число, изменив вектор:
v.push_back(num);
Это нарушает постоянную гарантию того, что функция сделана.
Чтобы исправить ошибку, удалите const
из аргумента или не изменяйте вектор в функции.
G CC выдает следующую ошибку:
ошибка: передача 'const std :: vector Аргумент 'as' this 'отбрасывает квалификаторы [-fpermissive]
Что немного более понятно, чем то, что не так с вашим кодом.