小编use*_*420的帖子

错误C2244无法将函数定义与现有声明匹配

我正在尝试用C++创建一个简单的模板列表,Visual Studio 2010和我得到:错误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) …
Run Code Online (Sandbox Code Playgroud)

c++ templates

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

c++ ×1

templates ×1