我的Node类有问题,我创建了该类的接口和实现文件。当我构建它时,会发生此错误:“ 错误:'Node :: Node(const T&,Node ,N ode )'的重新声明”可能没有默认参数[-fpermissive] Node: :Node(const T&item = T(),节点* nxt = NULL,节点* bck = NULL)”。
我的界面
#ifndef NODE_HPP
#define NODE_HPP
#include <iostream>
using namespace std;
template <typename T>
class Node {
public:
T item;
Node<T> *next;
Node<T> *back;
Node(const T &item = T(), Node<T> *nxt = NULL, Node<T> *bck = NULL); };
#endif
和我的实现代码
#include "Node.hpp"
template <typename T>
Node<T>::Node(const T &item = T(), Node<T> *nxt = NULL, Node<T> *bck = NULL)
{
this->item = item;
next = nxt;
back = bck;
}
已解决
我这样更改了我的实现代码并解决了。
#include "Node.hpp"
template <typename T>
Node<T>::Node(const T &item, Node<T> *nxt, Node<T> *bck)
{
this->item = item;
next = nxt;
back = bck;
}