C2662

26/01/2016 - 12:40 von lothar.frings | Report spam
Hallo,

der Compilerfehler C2662 entsteht, wenn man aus
einer const-Funktion eine "nicht-const"-Funktion
aufruft. Aber ich meine, ich hàtte mal einen Trick
gelesen, wie man den this-Pointer so umcasten
kann, daß das trotzdem geht. Weiß zufàllig
jemand, wie man das macht?
 

Lesen sie die antworten

#1 usenet
26/01/2016 - 21:10 | Warnen spam
wrote:
der Compilerfehler C2662 entsteht, wenn man aus
einer const-Funktion eine "nicht-const"-Funktion
aufruft. Aber ich meine, ich hàtte mal einen Trick
gelesen, wie man den this-Pointer so umcasten
kann, daß das trotzdem geht. Weiß zufàllig
jemand, wie man das macht?



Der zustàndige cast wàre:

const_cast<class_type*>(this)->non_const_function();

aber eigentlich ist es eine sehr gute Sache, dass es "eigentlich" nicht
geht. Bevor man so trickst, sollte man sich "mutable" ansehen, womit
man einzelne Member auch aus const-Funktionen modifizieren kann.

Gruß,
Michael Karcher

Ähnliche fragen