Voici un petit code.J'ai un enum dans une structure et une méthode template sur cet enum avec spécialisation. Jusque là c'est OK.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 struct MyStruct { enum keyname {first,second}; template<keyname _E> void make() const; template<> void make<first>() const { } template<> void make<second>() const { } }; template<typename _T,_T::keyname _K> struct MasterStruct { template<typename P> void foo()(P const & v) const { v.make_key<_K>(); } };
Ensuite j'aimerais passer cette première structure en template d'une autre, et de là appeler une des méthodes spécialisées de la première structure. Bien sûr ça ne passe pas.
Comment faire ?
Merci.
Partager