Hallo, ich möchte eine einfach Verkette Liste mittels Template realisieren. Sollte eig auch nicht so schwer sein, aber iwi flupt es noch nicht ganz. Ich bekomme diese beiden Fehlermeldung:
Fehler 3 error C2512: 'item': Kein geeigneter Standardkonstruktor verfügbar \list.h 37
Fehler 2 error C2955: "item": Für die Verwendung der template-Klasse ist eine template-Argumentliste erforderlich. \list.h 37
Jeglicher versuch das in den griff zu bekommen scheiterte bis jetz. Vll kann mir hier ja jmd auf die sprünge helfen, programmiere in C++ auch noch nicht so wirklich lang.
MFG
Fehler 3 error C2512: 'item': Kein geeigneter Standardkonstruktor verfügbar \list.h 37
Fehler 2 error C2955: "item": Für die Verwendung der template-Klasse ist eine template-Argumentliste erforderlich. \list.h 37
Jeglicher versuch das in den griff zu bekommen scheiterte bis jetz. Vll kann mir hier ja jmd auf die sprünge helfen, programmiere in C++ auch noch nicht so wirklich lang.
Code:
#pragma once
#include <iostream>
using namespace std;
template <typename T>
struct _item {
T element;
_item<T> *next;
};
template <typename T>
class List
{
//Pointer auf das aktuelle Element der Liste
_item<T> *p ;
//Pointer auf das Basis Element der Liste
_item<T> *items ;
public:
List(void);
~List(void);
void add(T item);
void seek_last();
T put(T item);
};
template <typename T>
List<T>::List()
{
items = new _item;
items->element = 0;
items->next = NULL;
p = items;
}
template <typename T>
void List<T>::add(T item)
{
seek_last();
p->next = new item;
p = p->next;
p->element = item;
p->next = NULL;
}
template <typename T>
void List<T>::seek_last()
{
p = items;
while (p->next != NULL)
p = p->next;
}
template <typename T>
T List<T>::put(T item)
{
p = items;
while (p->next->next!=NULL &&
p->next->element!=item)
p = p->next;
if (p->next->element==item)
return p->next->element;
else return 0;
}
MFG
Zuletzt bearbeitet: