PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [C++] Klassenvariable in einer templateklasse Initialisieren??


chetigol
2010-02-16, 16:36:34
Hi!

Habe folgendes Problem:

Wie lautet die Syntax für die definition einer Klassenvariable folgender Tamplateklasse: (??)


template<int i>
class MyTemp
{
// diese Variable muss noch außerhalb der Klasse definiert werden
static const int myConst;
}

// Hier steige ich aus??? Wie muss ich myConst definieren???
template<int i> const int MyTemp<??>::myConst = 100;



Bei einem "normalen" Template funktioniert es Problemlos auf diese weise:


template<class T>
class MyTemp
{
static const int myConst;
}

// Das ist kein Problem
template<class T> const int MyTemp<T>::myConst = 100;


Wie mache ich es aber, wenn das Template nur einen Wert und nicht einen Typ erwartet??

kloffy
2010-02-16, 17:58:58
Wie mache ich es aber, wenn das Template nur einen Wert und nicht einen Typ erwartet??
Genauso?
template<int i> const int MyTemp<i>::myConst = 100;

chetigol
2010-02-16, 18:06:59
Genauso?
template<int i> const int MyTemp<i>::myConst = 100;


jup! Keine ahnung, was ich davor gemacht hab! vielleicht hab ich mich vertippt und hab 100 mal über den fehler drüber gelesen ohne es zu sehen!

jup, es geht so!

danke! :biggrin:

kloffy
2010-02-16, 18:28:03
vielleicht hab ich mich vertippt und hab 100 mal über den fehler drüber gelesen ohne es zu sehen!
Kenn ich... :)