Template class Linked List

Hello, I am making a linked list class as a template class, but it is the first time that I am using template classes. I am getting these 32 errors:
Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand
Fehler C2989 "LinkedList": Klassen-template wurde bereits als Nichtklassen-template deklariert. PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.h 26
Fehler C3857 "LinkedList": Mehrere template-Parameterlisten sind nicht zulässig. PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.h 4
Fehler C2988 Unerkannte Vorlagendeklaration/-definition PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 6
Fehler C2059 Syntaxfehler: "<" PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 6
Fehler C2065 "T": nichtdeklarierter Bezeichner PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 12
Fehler C2923 "LLNode": "T" ist kein gültiges template-Typargument für den T-Parameter. PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 12
Fehler C2143 Syntaxfehler: Es fehlt ";" vor "{" PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 12
Fehler C2447 "{": Funktionsheader fehlt - Parameterliste im alten Stil? PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 12
Fehler C2988 Unerkannte Vorlagendeklaration/-definition PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 20
Fehler C2143 Syntaxfehler: Es fehlt ";" vor "<" PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 20
Fehler C2182 "LinkedList": Unzulässige Verwendung des Typs "void" PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 20
Fehler C2059 Syntaxfehler: "<" PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 20
Fehler C2065 "T": nichtdeklarierter Bezeichner PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 20
Fehler C2923 "LLNode": "T" ist kein gültiges template-Typargument für den T-Parameter. PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 20
Fehler C2065 "T": nichtdeklarierter Bezeichner PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 25
Fehler C2923 "LLNode": "T" ist kein gültiges template-Typargument für den T-Parameter. PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 25
Fehler C2143 Syntaxfehler: Es fehlt ";" vor "{" PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 25
Fehler C2447 "{": Funktionsheader fehlt - Parameterliste im alten Stil? PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 25
Fehler C2988 Unerkannte Vorlagendeklaration/-definition PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 44
Fehler C2143 Syntaxfehler: Es fehlt ";" vor "<" PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 44
Fehler C2182 "LinkedList": Unzulässige Verwendung des Typs "void" PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 44
Fehler C2374 "LinkedList": Neudefinition; Mehrfachinitialisierung PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 44
Fehler C2059 Syntaxfehler: "<" PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 44
Fehler C2143 Syntaxfehler: Es fehlt ";" vor "{" PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 64
Fehler C2447 "{": Funktionsheader fehlt - Parameterliste im alten Stil? PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 64
Fehler C2988 Unerkannte Vorlagendeklaration/-definition PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 74
Fehler C2143 Syntaxfehler: Es fehlt ";" vor "<" PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 74
Fehler C2182 "LinkedList": Unzulässige Verwendung des Typs "void" PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 74
Fehler C2374 "LinkedList": Neudefinition; Mehrfachinitialisierung PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 74
Fehler C2059 Syntaxfehler: "<" PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 74
Fehler C2143 Syntaxfehler: Es fehlt ";" vor "{" PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 80
Fehler C2447 "{": Funktionsheader fehlt - Parameterliste im alten Stil? PopSickles d:\projects\games\creepie crawlers\popsickles\linkedlist.cpp 80
(it is in German)

LLNode.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#pragma once
template <class T>

class LLNode
{
	friend class LinkedList;
public:
	LLNode();
	~LLNode();

private:
	T info;
	LLNode* next;
};



LLNode.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "LLNode.h"


template <class T>
LLNode<T>::LLNode()
{
}

template <class T>
LLNode<T>::~LLNode()
{
}


LinkedList.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#pragma once
#include "LLNode.h"

template <class T>
class LinkedList
{
public:
	LinkedList();
	
	void push(LLNode node);
	void push_back(LLNode node);
	void insert(LLNode node, int i);
	void deleteNode(int i);
	void pop();
	void pop_back();

	T read(int i);

	int size() {
		return m_size;
	}

private:
	int m_size = 0;
	LLNode* head = nullptr;
};



LinkedList.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include "LinkedList.h"
#include <iostream>

template <class T>

LinkedList<T>::LinkedList()
{
}


template <class T>
void LinkedList<T>::push(LLNode<T> node) {
	node.next = head;
	head = &node;
	m_size++;
}


template <class T>
void LinkedList<T>::push_back(LLNode<T> node) {

}

template <class T>
void LinkedList<T>::insert(LLNode<T> node, int i) {
	if (i > m_size) {
		std::cout << "i :" << i << " is bigger than Linked List size :" << m_size;
		return;
	}

	LLNode<T>* tracker = nullptr;

	for (int a = 0; a < i; a++) {
		tracker = head;
		head = head->next;
	}

	node->next = tracker->next;
	tracker->next = &node;
	m_size++;
}

template <class T>
void LinkedList<T>::deleteNode(int i) {
	if (i > m_size) {
		std::cout << "i :" << i << " is bigger than Linked List size :" << m_size;
		return;
	}

	LLNode<T>* tracker = nullptr;

	for (int a = 0; a < i; a++) {
		tracker = head;
		head = head->next;
	}

	tracker->next = head->next;
	destroy(*head);
	m_size--;
}


template <class T>
void LinkedList<T>::pop() {
	LLNode<T>* tracker = head;
	head = head.next;
	destroy(*tracker);
	m_size--;
}



template <class T>
void LinkedList<T>::pop_back() {

}


template <class T>
T LinkedList<T>::read(int i) {

}


Thanks in advance!
(Wouldn't mind general advice about my code.)
just had to put the functions into the .h files
Topic archived. No new replies allowed.