Forum: PC-Programmierung pointer


von chrigi (Gast)


Lesenswert?

hallo

habe eien pointer to const unsigned int und möchte ihn einer Funktion
als input geben, allerdings benötigt diese funktion pointer to unsigned
int.

kann ich diesen pointer irgendwie konvertieren?

gruss

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Naja, das geht mit einem Typecast. Ist aber sehr unsauber, wenn nicht
gar ein potentieller Fehler.

  const unsigned int *p;

  void bla(unsigned int *ptr):


  bla((unsigned int *) p);

Das ist deshalb unsauber, weil so nicht sichergestellt ist, daß die
Funktion den Pointer nicht beschreibt.
Es gibt ja einen Grund dafür, daß der Pointer als 'const' deklariert
ist; und die Funktion verwendet vermutlich auch aus einem bestimmten
Grund kein 'const' - nämlich um darauf hinzuweisen, daß sie den
Pointer (resp. das, worauf er verweist) verändern kann/mag/will/wird.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

oder im c++ stil: const_cast<unsigned int*>(p)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.