Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
FH Super JLI'ler
Alter: 36 Anmeldedatum: 16.10.2004 Beiträge: 438
Medaillen: Keine
|
Verfasst am: 27.12.2004, 23:16 Titel: TemplateFehler: Vorlagen-Argumentliste erforderlich |
|
|
Hallo allen Forenlesern,
ich habe schon wieder ein Problem: Ich lege eine Template-Klasse an:
Code: | template <typename T> class TClass
{
public:
TClass();
private:
HWND hWnd;
BYTE NrParams;
T TCParam;
T* Params;
};
TClass::TClass()
{
NrParams =0;
TCParam =0;
Params =0;
} |
Wegen der im Konstruktor angegebenen Zahlen: T nimmt nur Zahltypen an, von daher kann ich 0 gut zuweisen.
Zum eigentlichen Problem: Mein Compiler mag das net. Der meldet folgende Fehler:
Visual C++ 6.0 hat Folgendes geschrieben: | d:\c++\threadclass.cpp(12) : error C2955: 'TClass' : Fuer die Verwendung einer Vorlagenklasse ist eine Vorlagen-Argumentliste erforderlich
d:\c++\threadclass.cpp(10) : Siehe Deklaration von 'TClass'
d:\c++\threadclass.cpp(12) : error C2955: 'TClass' : Fuer die Verwendung einer Vorlagenklasse ist eine Vorlagen-Argumentliste erforderlich
d:\c++\threadclass.cpp(10) : Siehe Deklaration von 'TClass' |
Ich weiß nicht mal, was eine 'Vorlagen-Argumentliste' ist. Kann mir jemand helfen?
Danke und Gruß
FH _________________ goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 27.12.2004, 23:30 Titel: |
|
|
Wie hast du den die Instanz der Klasse angelegt?
Code: | TClass<bla> Instanz; | ? |
|
Nach oben |
|
|
Patrick Dark JLI Master
Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 27.12.2004, 23:33 Titel: |
|
|
Code: |
template<typename T> TClass<T>::TClass (void) : NrParams_ (0), TCParam_ (0), Params_ (NULL)
{
} |
_________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Zuletzt bearbeitet von Patrick am 28.12.2004, 11:48, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
FH Super JLI'ler
Alter: 36 Anmeldedatum: 16.10.2004 Beiträge: 438
Medaillen: Keine
|
Verfasst am: 28.12.2004, 02:04 Titel: |
|
|
@Greven: Ja, genau so.
@Patrick: Ne! Da kommt laut Compiler hinzu, dass T nicht definiert ist und, laut Compiler: Visual C++ 6.0 hat Folgendes geschrieben: | 'Params' ist weder Basis noch Element |
Das kommt auch noch für die anderen...
Gruß
FH _________________ goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free |
|
Nach oben |
|
|
xardias JLI Master
Alter: 38 Anmeldedatum: 28.12.2003 Beiträge: 804 Wohnort: Palo Alto, CA Medaillen: Keine
|
Verfasst am: 28.12.2004, 11:26 Titel: |
|
|
[edit, war quatsch]
Code: | template <typename T> TClass<T>::TClass()... |
|
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 28.12.2004, 12:15 Titel: |
|
|
FH hat Folgendes geschrieben: | @Patrick: Ne! Da kommt laut Compiler hinzu, dass T nicht definiert ist und, laut Compiler: Visual C++ 6.0 hat Folgendes geschrieben: | 'Params' ist weder Basis noch Element |
Das kommt auch noch für die anderen... |
Wenn du statt 'typename' 'class' hinschreibst, sollte es jedenfalls funktionieren.
Ist denn Params noch ein Member deiner Klasse oder hast du es wieder rausgeschmissen? _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 28.12.2004, 12:54 Titel: |
|
|
Ist "typename" und "class" in einer Templatedeklaration nicht dasselbe?
Wenn nein, wo liegt der Unterschied? |
|
Nach oben |
|
|
FH Super JLI'ler
Alter: 36 Anmeldedatum: 16.10.2004 Beiträge: 438
Medaillen: Keine
|
Verfasst am: 28.12.2004, 13:03 Titel: |
|
|
@Lord:
Uuupss... Ich hatte Params auskommentiert... MIST! Mit class klappt es auch nicht.
Die Lösung von xardias geht, genauere Tests stehen aber noch aus:
xardias hat Folgendes geschrieben: | Code: | template <typename T> TClass<T>::TClass()... |
|
Danke und Gruß
FH _________________ goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 28.12.2004, 13:08 Titel: |
|
|
FH hat Folgendes geschrieben: | Die Lösung von xardias geht, genauere Tests stehen aber noch aus:
xardias hat Folgendes geschrieben: | Code: | template <typename T> TClass<T>::TClass()... |
|
|
Ist doch das gleiche, was oben steht, oder? o_O _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
FH Super JLI'ler
Alter: 36 Anmeldedatum: 16.10.2004 Beiträge: 438
Medaillen: Keine
|
Verfasst am: 28.12.2004, 13:14 Titel: |
|
|
Das hat Patrick anscheinend editiert (ist untendrunter von phpBB ja auch vermerkt).
Gruß
FH _________________ goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free |
|
Nach oben |
|
|
Patrick Dark JLI Master
Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 28.12.2004, 13:15 Titel: |
|
|
Stimmts, habs editiert Habe geschlampt mit dem Notepad *schäm*
GreveN
Nein ist das selbe, aber typename kommt besser und sieht stylischer aus Nebenbei siehts auch irgendwie logischer aus _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
|
|