templates: wie kann ich das unter einen hut bringen?



  • ich frag heute zuviel...

    naja, wenigstens ist die frage ganz interessant:
    also, ich hab eine Klasse namens GetType(man überfliege dazu mal meinen vorletzten thread^^), aufjedenflal soll bzw muss der 2. templateparameter dieser Klasse auf 3 verschiedene arten gefüllt werden können:

    //nr1
    typedef GetType<typliste,1> MitInt;
    //nr2
    typedef GetType<typliste,GetPos<typliste,int> > MitAndererKlasse
    //nr3
    typedef GetType<typliste,var<int,5> > MitAndererKlasse2
    

    zu 1, sollte klar sein, ein int wert
    zu2, innerhalb soll dann GetPos<typliste,int>::Value aufgerufen werden
    zu3, auf diese werte,in dem fall "5" kann man nur über die templateparameter zugreifen.

    bisher schaff ich nur 2 und 3 zusammen, 1 und 2 geht scheinbar nicht, da er folgenden code nicht annimmt:

    template<class Head,class Tail,typename PosType> struct GetType<Typlist<Head,Tail>,PosType::Value>
    

    das überladen des templates klappt selbstverständlich auch nicht...
    gibts vielleicht ne möglichkeit, dass er den int wert in eine var<int,Wert> automatisch umwandeln kann?


Anmelden zum Antworten