Bonjour,

en me balladant dans du code boost, je suis tombé sur cette syntaxe :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
    template< typename T, std::size_t sz >
    struct range_const_iterator< T[sz] >
    {
        typedef const T* type;
    };
j'étais habitué à voir soit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
    template< typename T, std::size_t sz >
    struct range_const_iterator
    {
        typedef const T* type;
    };
soit ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
    template< >
    struct range_const_iterator< T[sz] > //hummm.. finalement me parait pas terrible :)
    {
        typedef const T* type;
    };
A y réfléchir, on essaye ici de spécialiser les deux paramètres "en même temps"... sans doute dû à ça
Une explication plus fiable ?
merci