template <> void doSomething(foo a, foo b)
{
a.id = b.id;
// ...
}
Po co specjalizuje się szablony? Powyższy kod przecież robi dokładnie to samo co bez "template <>" na początku. Typ argumentów jest i tak znany, więc funkcja wywoła się dokładnie tak samo nawet gdyby nie była szablonem. Jak to z tym jest?