Как я могу переопределить унаследованные функции из класса шаблона? - PullRequest
0 голосов
/ 07 марта 2020

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

До сих пор базовый класс:

template<typename T, typename instrument>
class Probe {
private:
    instrument probe;
public:
    Probe(instrument _probe) : probe{_probe} {}
    virtual T read() const;
    instrument getProbe() const {return this->probe;}
};

В то время как производный класс:

class TestProbe : public Probe<int,int> {
public:
    TestProbe(int _probe) : Probe(_probe) {}
    virtual int read() const override {return getProbe();} // later will have a more complex expression
};

Ошибка, которую я получаю всякий раз, когда пытаюсь скомпилировать: undefined reference to Probe<int, int>::read() const

...