Überlastung Wenn ich eine Klasse mit einem überladenen Zuweisungsoperator wie diese:eine Operation außerhalb einer Template-Klassen
template<typename T> class Foo {
private:
T var;
public:
T operator=(T v){var = v;};
};
es funktioniert, aber wenn ich den Bediener außerhalb der Klasse definieren will es mir sagt, T
ist kein Typ (worüber es richtig ist). Wie kann ich das umgehen und außerhalb der Klasse definieren?
'template T Foo :: operator = (T v) { var = v; } ' –
@sleeptightpupper Auch wenn das OP den Rückgabetyp als' T' anstelle von 'Foo &' behält, müsste die Implementierung etwas zurückgeben. –
Bitte geben Sie eine [mcve] an. "Es verursacht viel Aufhebens" ist keine ausreichende Information für uns zu diagnostizieren, was Sie falsch gemacht haben. – Barry