我试图从函数返回一个指向模板的指针,但是我得到了错误:
error C2440: 'return' : cannot convert from 'node<T>*' to 'Customer*'
这很奇怪,因为我知道模板肯定包含一个客户对象。
返回错误的类是这样的:
template <class T>
T* l_list<T>::search(int id)
{
int i = 0;
node<T> *ptr = head;
while (id != ptr -> data.getId())
{
ptr = ptr -> next;
i++;
if (id = ptr -> data.getId())
{
return ptr;
}
}
}
我通过这样做来调用它:
cin >> id;
Customer* ptr = customers.search(id);
ptr -> createAccount();
甚至有可能做到这一点吗?