Функции erase и clear в C++ отличаются по своему назначению. favtutor.com
clear() удаляет все элементы из вектора, оставляя после себя вектор размером 0. stackoverflow.com www.geeksforgeeks.org
erase() удаляет один элемент или диапазон элементов из вектора. stackoverflow.com www.geeksforgeeks.org