template mit template parameter geht nicht



  • hallo zusammen,

    warum geht folgender code nicht?

    template <typename T, < S=ReferenceTimer<T> >
            class ReferenceTimerQueue : public PairQueue<T, S *> {
    
            public:
                void add(S * timer);           
            };
    
            template <typename T, typename S=ReferenceTimer<T> >
            void ReferenceTimerQueue::add(S * timer){
    
                T & ref = timer->getReference();
                PairQueue<T, S *>::add(ref, timer);
    
           }
    

    Der Fehler ist:

    ReferenceTimerQueue.h:39: error: ‘template<class T, class S> class ReferenceTimerQueue’ used without template parameters
    ReferenceTimerQueue.h:39: error: default template arguments may not be used in function templates
    ReferenceTimerQueue.h:39: error: ‘template<class T, class S> class ReferenceTimerQueue’ used without template parameters
    ReferenceTimerQueue.h:39: error: default template arguments may not be used in function templates
    

    Vielen Dank. 🙂



  • void ReferenceTimerQueue<T, S>::add(S * timer) {
    

    Und oben fehlt ein typename vor S.



  • ach dämlich. vielen dank 🙂


Anmelden zum Antworten