2016-02-25 1 views
1

Dites-moi simplement pourquoi il n'est pas possible d'utiliser struct de classe de modèle dans une autre classe de modèle. Je pense personnellement que c'est logique. avoir C++ une telle fonctionnalité? J'utilise VS 2015. merci :)struct de classe de modèle dans la classe de modèle

template<typename T> class MyList 
{ 
public: 
    struct Node 
    { 
     T  value; 
     Node* next; 
    }; 
    //... 
}; 

template<typename Type> class MyMap 
{ 
public: 
    struct ElementData 
    { 
     Type  types[32]; 
     unsigned key; 
    }; 

    MyList<ElementData>::Node* nodes; //Syntax Error: Identifier 'Node' 
}; 

tout cela fonctionne.

template <typename T> struct Node 
{ 
    T  value; 
    Node* next; 
}; 

template<typename T> class MyList 
{ 
public: 
    Node<T>* root; 
    //... 
}; 

template<typename Type> class MyMap 
{ 
public: 
    struct ElementData 
    { 
     Type  types[32]; 
     unsigned key; 
    }; 

    Node<ElementData>* nodes; 
}; 
+1

Savez-vous typename? –

Répondre