struct XYZ {
XYZ *adress;
};
XYZ *Ex;
int main() {
Ex = new XYZ[3];
Ex->adress = (++Ex);
cout << Ex->adress << endl;
Ex->adress = (++Ex);
cout << Ex->adress << endl;
Ex->adress = (--Ex)->adress;
cout << Ex->adress << endl;
Output:
0105E424 0105E428 0105E424
struct XYZ {
XYZ *adress;
};
XYZ *Ex;
void copy_adress(XYZ *Ex) {
Ex->adress = (++Ex);
}
int main() {
Ex = new XYZ[3];
copy_adress(Ex);
cout << Ex->adress << endl;
Ex->adress = (++Ex);
cout << Ex->adress << endl;
Ex->adress = (--Ex)->adress;
cout << Ex->adress << endl;
Output:
CDCDCDCD 00A3E53C CDCDCDCD
Can you tell me why this is happening, and how I can fix it?