Bonjour, j'aimerais faire une amitié d'un template avec un template spécialisé, est-ce possible ? Si oui, quelle est la syntaxe...

Pour exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
template<class A, class B>template_ami;
 
template<class T>un_template
{
  template<class U>friend class template_ami<T,U>;
};
Et GCC me refuse :
erreur: partial specialization ‘template_ami<T, U>’ declared ‘friend’

Parce qu'il est possible de faire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
template<class A, class B>template_ami;
 
template<class T>un_template
{
  template<class U, class V>friend class template_ami;
};
Mais ça n'a aucun intérêt puisque tous les template_ami peuvent être ami avec tous les un_template de n'importe quel type, l'intérêt étant de spécialiser l'amitié en fonction des types des deux templates...