Zeiger casten

Von: , Frage gestellt am Fr, 28. Aug 2009

Hallo Leute,

Hier ist ein Beispiel.

Class A{

private:
int x;

public:
A():x(0){}

void setA(int *x_in)
{
//ich möchte hier mein Private-Member initialisieren
//mit *x_in

x = x_in; //So geht nicht. Was soll ich hier schreiben?
}

int get(){ return x;}
};

Danke

1 Antworten zu dieser Frage

  1. Antwort von nach einer Stunde 0 hilfreich
    Re: Zeiger casten

    Hi,
    Du versuchst einer Integer Variable als Wert eine Speicheradresse zu geben. Du willst aber den Inhalt des Pointers also den int Wert auf den x_in zeigt haben. Also musst du den Pointer erstmal dereferenzieren.

    x = *x_in;

    In vielen Fällen ist es sinnvoll (wenn möglich) anstelle eines Pointers eine Referenz als Parameter für Methoden zu verwenden. Ist oft sicherer!

    Gruß:-)

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!