const_cast
-
moin
hab hierzu schon n bissi was gelesen nur meine fragen sind nicht beantwortet...
also folgendes problem:ich hab eine funktion die als übergabeparameter ein const char* erwartet.
den wert der in der variable steht ist aber keinesfals konstant ...ich habe also ein CString die mir vorgibt was in der variablen stehen soll.
nun will ich diesen CString (von mir aus auch char*) zu genau dem funktionsaufruf in ein const char* verwandeln ...ich nahm an ich mach das so:
char * var1="Test"; const char * varConst="blah"; void funktion(char *neuVar){ varConst = const_cast<char*>(neuVar); FunktionDieIchAufrufenSoll(varConst); } void main(){ var1="HALLOWELT"; funktion(var1); }geht das so???
mfg LT
-
const_castdient dazu, dasconstzu entfernen. Das hinzufuegen passiert automatisch.char * var1="Test";Sollte so zumindestens eine Warnung erzeugen, da "Test"
constist,var1aber nicht.geht das so?
Frage erst deinen Compiler des Vertrauens!
-
hmmm ok also hab ich das missverstanden ... ok dann frage: ich wollte einen char* an eine funktion übergeben die ein const char * erwartet ... kann ich also einfach einen char* übergeben auch wenn ein const char * erwartet wird?
-
Hast du es ausprobiert?
-
... nur umgekehrt geht es nicht.
-
joar is im mom etws schwierig weil unsere netzwerktechnik streigt und ich net zu dem drucker komm den ich befehle schicken will ...
darum etwas fragen ohne wirklich testen zu können ...
-
also vom kompilieren her geht es und ich denke das es so gehn müsste bin mir aber noch net 100 % sicher ... ich meld mich wieder wnen netzwerk wieder geht und ich es testen konnte
-
Objekte lassen sich implizit zu
constcasten, andersherum aber nicht..
http://ideone.com/0lmbJ
-
LordTerra schrieb:
joar is im mom etws schwierig weil unsere netzwerktechnik streigt und ich net zu dem drucker komm den ich befehle schicken will ...
darum etwas fragen ohne wirklich testen zu können ...Wozu brauchst du da einen Drucker? oO..
-
knivil schrieb:
LordTerra schrieb:
joar is im mom etws schwierig weil unsere netzwerktechnik streigt und ich net zu dem drucker komm den ich befehle schicken will ...
darum etwas fragen ohne wirklich testen zu können ...Wozu brauchst du da einen Drucker? oO..
Eine andere Frage: Ist der Drucker im Netzwerk, oder wieso spielt das (Netzwerk) eine Rolle?