我上过这堂课:
template <class T>
class NodoLista
{
public:
T dato;
Puntero<NodoLista<T>> sig;
NodoLista<T>(const T& e, Puntero<NodoLista<T>> s) : dato(e), sig(s) { };
};
然后我尝试使用这样的typedef:
template <class U>
typedef Puntero<NodoLista<U>> pNodoLista;
void main()
{
pNodoLista<int> nodo = new NodoLista<int>(1, nullptr);
cout<<nodo->dato<<endl;
}
我收到一条错误消息,说我的模板不正确。 如何使用typedef:
Puntero<NodoLista<T>> as pNodoLista<T>
答案 0 :(得分:2)
template <class U>
typedef Puntero<NodoLista<U>> pNodoLista;
应该是
typedef template <class U> Puntero<NodoLista<U>> pNodoLista;
答案 1 :(得分:0)