Przykład

W tym przykładzie występują dwie funkcje o nazwie foo , które wzajemnie się przeciążają. To może spowodować nieoczekiwane zachowanie.

template<class T> class MojaKlasa { public:
      int foo(T type);
      int foo(int b);
};

Rozwiązanie

Rozwiązaniem jest napisanie specjalnych funkcji, co demonstruje przykład poniżej, lub użycie specjalnych szablonów funkcji, co spowoduje usunięcie wieloznaczności z kodu.

template<class T> class MojaKlasa { public:
      int fncType(T type);
      int fncInt(int b);
};