162 votes

Fonction de modèle C ++ dans la classe de modèle

J'ai ce code:

     template <class T>
    class MyClass {
        public:
            template <class U>
            void foo() {
                U a;
                a.invoke();
            }
    };
 

Je le veux sous cette forme:

     template <class T>
    class MyClass {
        public:
            template <class U>
            void foo();
    };

    template <class T> /* ????? */
    void MyClass<T>::foo() {
        U a;
        a.invoke();
    }
 

Comment je peux faire ça? Quelle est la bonne syntaxe?

241voto

Kerrek SB Points 194696

Écrire cela:

 template <class T>
template <class U>
void MyClass<T>::foo() { /* ... */ }
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X