typedef template



  • Moin,

    ich habe eine Klasse, die Template-Parameter hat.

    template< typename T , class TBaseClass>
    class A : public TBaseClass
    ...
    

    Nun wollte ich gerne einen typedef für die Klasse machen, so dass man aber weiterhin T bestimmen kann.

    Mein Versuch:

    template< typename T >
    typedef A< T, CLASSB > NeuerName;
    

    Diese mag der Compiler leider nicht.
    error C2823: a typedef template is illegal

    Wie bekomme ich das hin??



  • mit typedef nicht. vielleicht reicht erstmal folgende?

    template< typename T >
    class NeuerName:public A< T, CLASSB >
    {
    };
    


  • Dann muss ich doch die ganzen Construktoren neu schreiben? und das erleichtert die ganze Sache dann nicht wirklich.



  • Hallo,
    bisher kennt C++ leider keine template typedefs. Eine Annäherung:

    template <class T>
    struct A_Typedef_T
    {
        typedef A<T, CLASSB> type
    };
    
    // später
    A_Typedef_T<irgendwas>::type x;
    

Anmelden zum Antworten