Template Funktion in template Klasse

Hallo!

Kann ich innerhalb einer template Klasse eine template Function mit anderen template Parametern definieren?

Ich habe eine Klasse:

template
class Foo{…};

und möchte innerhalb dieser Klasse eine Funktion definieren:

template function();

so dass ich in diese Funktion einen der template Parameter der Klasse schicken kann.
Hat jemand so etwas schon einmal gemacht?? Weiss jemand, wie das geht??

Danke für die Hilfe!

Hi,

Kann ich innerhalb einer template Klasse eine template
Function mit anderen template Parametern definieren?

„innerhalb“ eine Klasse eine Funktion? Eine
Memberfunktion?

Aus dem Kopf (Korrekturen nicht ausgeschlossen:wink:,
meinst Du sowas hier?

template 
 class myClass {
 public: 
 T1 data;
 ...
 T2 myFunction(T2 arg);
 ...
 };

und dann

template 
 T2 myClass :: myFunction (T2 arg)
{
 return arg + arg;
}

Wozu brauchst Du das? Vielleicht ist Dein
Problem leichter zu verstehen, wenn Du mehr verrätst?
Falls es komplizierter wird, kann ich ja nachher
mal in ISBN 0201734842 Buch anschauen schauen
und meine Kenntnisse auffrischen :wink:

Grüße

CMБ

Hallo!

Kann ich innerhalb einer template Klasse eine template
Function mit anderen template Parametern definieren?

Ich habe eine Klasse:

template
class Foo{…};

und möchte innerhalb dieser Klasse eine Funktion definieren:

template function();

Meinst du so etwas:

template
class Foo{
 template
 void bar() {...}
};

Die Methode Foo::bar() ist in diesem Fall ein Member template. Das ist in C++ durchaus erlaubt, leider sind einige C++ da nicht ganz konform. MS VC++ 6 beispielsweise unterstützt IMHO keine member-templates.

Welches Problem möchtest du denn lösen?

Gruß Markus