Изменение
tableBase<astruct> * u=&atable;
до
tableBase<astruct::pkeytype> * u=&atable;
(Обратите внимание, что параметр шаблона tableBase, определенный в вашем коде, инициализируется с типом ключа).
Edit:
Я должен заявить, что это сделает ваш код компилируемым. Заставить его работать - это другое дело; P