Код:
#include <iostream>;
using namespace std;
template <typename T>
class List{
public:
List();
~List();
void push_back(T data);
private:
template <typename T>
class Node {
public:
Node* pNext;
T data;
Node(Node* pnext = nullptr, T data = T()) {
this.pNext = pNext;
this->data = data;
}
};
int size;
Node<T>* head;
};
template <typename T>
List<T>::List() {
this->size = 0;
this->head = nullptr;
}
template <typename T>
List<T>::~List() {
}
template<typename T>
void List<T>::push_back(T data)
{
if (this->head == nullptr) {
this->head = new Node<T>(data); //**
}
else {
//...
}
}
int main() {
List <int> lst;
lst.push_back(12);
}
Строчку с ошибкой отметил //**.
Ошибка:"List::Node::Node": ни одна перегруженная функция не может преобразовать все типы аргументов