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.)