Meine Frage bezieht sich auf Funktionstemplates. Ich bin gerade am lernen wie man Templates einsetzt. Zu einem habe ich ein Buch und ein Tutorial mit folgender Adresse.
http://www.cpp-tutor.de/cpp/le15/le15_01.htm Die Aussagen sind hier die selben aber ich bekomme von meinem Compiler immer den selben Fehler bezüglich spezialisierter Templates.
Code: Select all
template <typename T>
T Max(T p1, T p2)
{
return ((p1>p2)? p1 : p2);
/*Das ist klar und funktioniert auch*/
}
Code: Select all
/*ein anderer Code mit spezialisiertem Template*/
template<>
char* Max<char*>(char* p1, char* p2)
{
if (strcmp(p1,p2) > 0)
return p1;
else
return p2;
/*Hier bekomme ich eine Fehlermeldung die lautet: ... used a non template as a template .....
also soviel wie -das ich ein nicht Template als Template benutzen will*/
}
Ich verstehe es nicht, ich suche in mehreren Quellen aber ich verstehe nicht warum es nicht geht.
Danke für jede Hilfe.
MfG
PS: Kdevelop 3.1.2 (Linux) GCC 3.3.4
DevCpp aktuell mit MinGW (Windows) GCC 3.2.3