2Danke
ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
372
372
EMPFEHLEN
-
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.
Code :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
#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; }
MFGGeändert von Svsoko (21.11.11 um 16:37 Uhr)
-
Hi und Willkommen bei tutorials.de

In Zeile 37 nennst du den Parameter item.
Das wird mit der struct item verwechselt.
Nimm einen anderen Namen, dann sollte alles passen.
Gruß
edit: Du hast da ja mehrere item-Parameter drin...
kommt bei den Anderen keine Meldung?Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
Hallo und danke für das nette Wilkommen =).
Hab den code gerad ma geupdatet struct heisst eig _item und nicht item, des weiteren sind die anderen variabeln items vom typ _item, hab mich da an nen altes java programm von mir gehalten, nicht die schönsten namen.
Aber sind halt immer noch diese beiden fehler. Sonst aber keine anderen fehler/warnungen.Geändert von Svsoko (21.11.11 um 16:42 Uhr)
-
Ist der Fehler noch immer Zeile 37?
Nimm statt
das:Code cpp:1
items = new _item;
Code cpp:1
items = new _item<T>();
Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
21.11.11 16:47 #5
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
Hi.
Du verwendest da Templates. Ein Template will erstmal instantiiert werden:
GrußCode cpp:1
items = new _item<T>();
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Boah 1000 dank, hätte den fehler warscheinlich erst morgen früh gefunden .
Nun gehts wie es soll. =)
Danke noch ma und noch nen schönen abend.
Ähnliche Themen
-
Verkette Liste Eintrag verschwindet
Von forsti222 im Forum JavaAntworten: 3Letzter Beitrag: 10.01.11, 11:14 -
In einer einfach Verkette Liste suchen
Von Vippis im Forum C/C++Antworten: 13Letzter Beitrag: 05.01.11, 12:00 -
CPP Problem: Verkettet Liste mittels Templates!
Von joeboe im Forum C/C++Antworten: 2Letzter Beitrag: 18.03.09, 16:52 -
Einfach verkette Liste: Sortierte ausgabe, nur wie? ()
Von dastool im Forum JavaAntworten: 2Letzter Beitrag: 11.03.06, 16:50 -
verkette Liste dynamisch erweiterbar
Von buschke im Forum C/C++Antworten: 4Letzter Beitrag: 11.01.06, 14:36





Zitieren

Login






