In questo esempio, si hanno due funzioni denominate
foo
che si sovrappongono l'una all'altra. Ciò può causare un comportamento imprevisto.
template<class T> class MyClass { public: int foo(T type); int foo(int b); }; |
La soluzione consiste nello scrivere funzioni specializzate, come dimostrato nell'esempio seguente, o utilizzare modelli di funzioni specializzate che rimuovono qualsiasi ambiguità dal codice.
template<class T> class MyClass { public: int fncType(T type); int fncInt(int b); }; |