удалить дубликаты записи в векторах

Я пытаюсь добавить объекты с помощью класса (Sample), отсортировать мой вектор и после этого удалить дубликаты записей в моем векторе.

мои коды (это только часть моих кодов в моей программе)

vector<Sample> sampleVector;
sort(sampleVector.begin(), sampleVector.end());
sampleVector.erase(std::unique(sampleVector.begin(),sampleVector.end(),sampleVector.end()));

но, тем не менее, когда я пытался запустить свою программу, он показывает эту ошибку.

Type 'std::__1::__wrap_iter<Sample *>' does not provide a call operator

и я понял, что, скорее всего, ошибка вызвана этой строкой

sampleVector.erase(std::unique(sampleVector.begin(),sampleVector.end(),sampleVector.end()));

Что я должен сделать, чтобы я мог удалить дублирующиеся записи в моем векторе? заранее спасибо

Я попробовал еще одну вещь, но она не работает.

bool myfunction (Sample *i,Sample *j) {
   return (i==j);
}

std::vector<Sample>::iterator it;
vector<Sample> sampleVector;
it = std::unique(sampleVector.begin(), sampleVector.end(),myfunction);   
for (it=sampleVector.begin(); it!=sampleVector.end(); ++it) {
            std::cout << *it << " "; <-- error must change it to &*it
}

Ответы на вопрос(3)

Ваш ответ на вопрос