Cet exemple illustre deux fonctions appelées
foo
qui se surchargent elles-mêmes. Ceci peut provoquer un comportement inattendu.
template<class T> class MyClass { public: int foo(T type); int foo(int b); }; |
La solution consiste à écrire des fonctions spécialisées, comme illustré dans l'exemple ci-dessous, ou à utiliser les modèles de fonction spécialisée qui suppriment toute incohérence du code.
template<class T> class MyClass { public: int fncType(T type); int fncInt(int b); }; |