Template Memberfunktion in normalen Klassen
- 
					
					
					
					
 Hi Ist es in C++ möglich innerhalb einer Klasse eine Template Memberfunktion bzw. operator zud definierem etwa so class test { template<class T> void read(T var); } template<class T> void read(T var) { }Beim kompilieren der oberen Zeilen gibt es keinen Fehler allerdings wenn diese Funktion im Programm dann verwendet wird. 
 etwa sotest t1; int i=0; t1.read(i);Bringt er beim kompilieren(VC6) immer einen Fehler, dass keine geeigente Instanzierung der Template Klasse gefunden werden kann. thx 
 Lukas
 
- 
					
					
					
					
 template<class T> void test::read(T &var) { }[edit] 
 byref zu übergeben wäre glaub ich sinnvoller
 
- 
					
					
					
					
 *nix schrieb: Ist es in C++ möglich innerhalb einer Klasse eine Template Memberfunktion bzw. operator zud definierem Ja. *nix schrieb: etwa so class test { template<class T> void read(T var); } template<class T> void read(T var) { }Eher so: class test { public: template<class T> void read(T var); }; template<class T> void test::read(T var) { }Bringt er beim kompilieren(VC6) immer einen Fehler, dass keine geeigente Instanzierung der Template Klasse gefunden werden kann. Eine Template-Klasse gibt es hier nicht. Insofern ist das sicher nicht der Fehler den du wirklich bekommst. Ist in deinem Testcode die Methode auch private? Btw: Beim VC 6 gibt es bei Membertemplates eine Besonderheit zu beachten. Dieser Compiler erlaubt die Definition eines solchen Templates nur innerhalb der Klassendefinition. Nicht aber außerhalb. 
 Du musst beim VC also:class test { public: template<class T> void read(T var) { ... } };schreiben.