Я написал класс, который имеет шаблонную функцию-член, в основном потому, что в качестве аргумента требуется std::vector
, однако я изо всех сил пытаюсь найти правильный способ его вызова.Вызов шаблонного члена класса
class foo(){
// ...
template <typename _t> int bar(const std::vector<_t> *values);
// ...
}
при вызове этой функции позже:
// ...
foo c;
std::vector<int> v(5,100);
c.bar(&v);
// ...
Я получаю ошибку:
error: no matching function for call to ‘foo::bar(std::vector<int>*)’
c.bar(&v);
не должны foo::bar(std::vector<int>*)
соответствовать параметрам шаблона? Почему он не компилируется?
После того, как несущественные части кода правовой, [не может воспроизводить] (HTTP: //coliru.stacked-crooked.com/a/c60537785a9849ee). – chris
Вы внедрили тело метода в любом месте своего заголовочного файла? –
@WojciechFrohmberg, это все равно будет компилироваться, просто не ссылка (как в моей попытке воспроизведения). – chris