Я слежу за реализацией связанного списка из учебника и получаю сообщение об ошибке "вызов конструктора 'Node' неоднозначен в этой закрытой функции в моем LinkedList. cpp:
void P1LinkedList::init(){
theSize = 0;
head = new Node; //causes error
tail = new Node; //causes error
head->next = tail;
tail->prev = head;
}
Это мой Node.h:
#ifndef Node_h
#define Node_h
struct Node{
int data;
Node* next;
Node* prev;
Node(const int & d = 0, Node *p = nullptr, Node *n = nullptr);
Node(int && d = 0, Node *p = nullptr, Node *n = nullptr);
};
#endif
И мой Node. cpp:
#include "Node.h"
#include<iostream>
Node::Node(const int & d, Node *p, Node *n)
:data{d}, prev{p}, next{n}{}
Node::Node(int && d, Node *p, Node *n)
:data{std::move(d)}, prev{p}, next{n}{}
Я предполагаю, что это связано с тем, как я написал Конструкторы узлов, но я написал их в соответствии с планом моего учебника, поэтому я не уверен, что сделал неправильно.