Bonjour,

j'ai un problème de syntaxe pour déclarer une fonction membre dans l'une de mes classes template. Le problème est reproductible avec ce bout de code normalement :
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
template<typename T1,size_t T2> class Foo
{
    template<size_t T3> Foo<T1,T2> fun(Foo<T1,T2>,Foo<T1,T3>);
};
 
template<typename T1,size_t T2,size_t T3> Foo<T1,T2>::fun(Foo<T1,T2> larg,Foo<T1,T3> rarg)
{
   return Foo<T1,T3>;
}
 
 
int main()
{
    Foo<double,3> toto;
}
La fonction membre fun n'est par reconnue à la compilation. J'ai essayé d'autres syntaxes mais rien n'y fait. Est-ce que quelqu'un sait d'où vient le problème?

Merci beaucoup!