我正在尝试在C,Visual Studio 2010中创建一个简单的模板列表
&安培;我得到了:错误C2244无法将函数定义与现有声明匹配.
&安培;我得到了:错误C2244无法将函数定义与现有声明匹配.
我试图将其更改为’typename’但它没有帮助.
它是一个基本的模板列表,具有非常基本的功能(Ctor,Dtor,Add,Delete).
请帮忙.
#ifndef LIST_H_ #define LIST_H_ template <typename T> class Node { T* m_data; Node* next; public: Node(T*,Node<T>*); ~Node(); void Delete (Node<T>* head); }; template <typename T> Node::Node(T* n,Node<T>* head) { this->m_data = n; this->next=head; } template <typename T> void Node::Delete(Node<T>* head) { while(head) { delete(head->m_data); //head->m_data->~data(); head=head->next; } } template <typename T> class List { Node<T*> head; public: List(); ~List(); void addInHead (T*); }; template <typename T> void List :: addInHead (T* dat) { head = new Node<T*> (dat,head); } template <typename T> List::List() { head = NULL; } template <typename T> List :: ~List() { head->Delete(head); } #endif
你有上面的代码.