Да, такое сделать нельзя. Сам подумай, как должна быть устроена таблица виртуальных функций для твоего случая (если бы так можно было делать).
template<class T>
class A
{
public:
virtual void fun(T);
};
A<int>a;
Тут понятно, для класса можно сгенерить таблицу. "Поместить туда адрес" A<int>::fun(int);
А как быть, если эта функция еще и шаблон?