Как я понимаю - реализуешь односвязный список, проблема в том, что ты не можешь передавать namespace в шаблон, да и зачем?
+ в объявлении класса Node в шаблоне у тебя дублируется переменная T, которую в принципе можно даже не указывать, тогда тип переменной data класса Node примет тип указанный классу List. (Надеюсь ты разберешься в этой писанине)
#include <iostream>
using namespace std;
template <class T>
class List
{
public:
List();
~List();
void push_back(T data);
private:
class Node {
public:
Node * pNext;
T data;
Node(T data = T(), Node * pNext = nullptr) {
this->data = data;
this->pNext = pNext;
}
};
int SIZE;
Node *head;
};
template<class T>
List<T>::List()
{
SIZE = 0;
head = nullptr;
};
template<class T>
List<T>::~List()
{
};
template<class T>
void List<T>::push_back (T data)
{
};
int main() {
system("pause");
return 0;
}
P.S. Надеюсь, что помог.