Templates
-
huhu ihrs,
folgendes Beispiel:
#include <iostream> using namespace std; template<class T> class Foo { public: void fkt(Foo f) {} // No Error }; Foo<int>& fkt(Foo<int>& f) { return f; } int main() { Foo f; // Error system("pause>nul"); return 0; }Wieso muss ich innerhalb der Klasse kein Template-Argument angeben,
außerhalb der Klasse aber schon ??danke euch schonma

-
In der template-Klassendefinition ist der Typ ja klar.
Wenn du ein Objekt deiner template-Klasse anlegen willst, ist aber nicht klar, für welchen Typ das geschehen soll (so lange der compiler nicht aus Parametern des Konstruktors diesen ersehen kann).
-
Man betrachte einfach folgenden Fall:
template <class T, class U, class V, class X> class Klasse { public: Klasse(const Klasse &); //und nicht Klasse<T, U, V, X>(const Klasse<T, U, V, X> &); };