Я преодолел проблему, я думаю, очень специфическую.
У меня есть 2 класса: B aseclass и D erived класс (из B aseclass).
B является шаблоном класса (или шаблоном класса) и имеет чистый виртуальный метод virtual void work(const T &dummy) = 0;
* * * * * * * * * * * * * * * * * * * *} * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * M * M * T * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}}}} мне наплевать, что виртуальные функции и шаблоны не работают сразу.
Есть идеи, как добиться того, чего я хочу?
Я благодарен за любые мысли и идеи, особенно если вы уже решили эту проблему
этот класс исправлен, как есть, я не могу редактировать это, не нарушая существующую кодовую базу
template <typename T>
class B {
public:
...
virtual void work(const T &dummy) = 0;
..
};
взять int * в качестве примера
class D : public B<int*>{
...
virtual void work(const int* &dummy){ /* put work code here */ }
..
};
Редактировать: компилятор сообщает мне, что void B<T>::work(const T&)
[with T = int*]
является чисто виртуальным в пределах D