Nach dem Templatekopf folgt die normale Funktionsdeklaration/Definition.
Üblicherweise für generische Algorithmen
genutzt.
Beispiel:
template <typename X> void swap (X& a, X& b) {
X hilf=a;
a=b; b=h;
}
Die Signatur der Funktion besteht
aus dem Namen "swap" und zwei gleichen Datentypen.
Beim Aufruf swap(wert 1, wert2) schaut
der Compiler, von welchem Typ wert1 und wert2 ist
und erzeugt die entsprechende Templatefunktionen (aus einem Funktionstemplate
generierte Funktion).