Typkonvertierungsoperator

FSA

Erfahrenes Mitglied
Hi! Ich bin ja schon ewig nicht mehr hier gewesen :)
Aber nun zur Frage.
Ich habe folgenden Funktionskopf
Code:
void function(const MyType* const type)
und habe eine Klasse, welche einen MyType pointer enthält. Ich wollte jetzt quasi so etwas erreichen:
Code:
function(classInstance);
Dazu habe ich mir meine Klasse so aufgebaut:
Code:
class MyClassWithMyType
{
private:
    MyType* type;
public:
    operator const MyType* const () const {return static_cast<const MyType* const>(type);}
};
Leider kann ich den oben angegebenen Aufruf nicht kompilieren:
Code:
Fehler	1	error C2664: Konvertierung des Parameters 1 von 'MyClassWithMyType*' in 'const MyType* const ' nicht möglich
Jemand eine Idee, wie ich mein Ziel erreichen könnte? Ich möchte mir das davor schreiben von (const MyType* const) natürlich sparen ;)
 
Hi.

Die Typkonvertierungsoperatoren funktionieren nicht mit Zeigertypen.

Du müßtest also deine Variable erst noch dereferenzieren.
 
Zurück