Вектор указателей как аргумент шаблона - PullRequest
0 голосов
/ 01 ноября 2011

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

template <class val>
void Bank::updateVector(unsigned int ID, vector<val*> upVector, val* upValue)
{
  deleteByID(ID, upVector);
  upVector.push_back(upValue);
}

Это вызов функции:

employee *new_employee= new employee(name,birthDate,address,postalCode, NIF,  BI,  phone,  salary,  post,  qualifications, id);
updateVector(id,employees,new_employee);

Я получаю неопределенную справочную ошибку:

undefined reference to `void Bank::updateVector<employee>(unsigned int, std::vector<employee*, std::allocator<employee*> >, employee*)'

Почему это происходит?

Спасибо за вашу помощь

Ответы [ 2 ]

1 голос
/ 01 ноября 2011

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

0 голосов
/ 01 ноября 2011

Я не слишком уверен в этом но я думаю, что это происходит потому, что вы создали updateVector в качестве шаблона, но не указали тип класса

Я уверен, что это будет

updateVector <employee> (id, employees, new_employee);

Извините, если я ошибся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...