Bonjour, est-il possible de définir le type de retour d'un opérateur template comme template ?

Ex :
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
 
template<class A>class peuimporte
{
 
  bla bla
 
  template<class B>B operator[](unsigned int);
 
  bla bla
 
};
 
//Déclaration
template<class A>template<class B>B peuimporte::operator[](unsigned int i)
{
  bla bla
}
 
//Utilisation :
 
peuimporte<unautretypeauhasard> *X;
montype x=(*X)<montype>[n];
Je ne vous cache pas que je si je viens ici j'ai déjà essayé l'écriture, ça ne compile pas : "type 'montype' inattendu"

Alors mon problème existe-t-il une écriture que j'ai loupé ?

Ca m'embêterais beaucoup de ne pas pouvoir définir le type de retour d'un opérateur comme template, que ce soit dans un template ou dans n'importe quelle classe d'ailleurs...

Merci pour votre réponse.