Zeiger casten

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

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ß:smile: