Итак, я пытаюсь изучить C++ и столкнулся с чем-то, что меня слегка озадачило. У меня есть код,
int x = 0;
int &y = x;
cout << &x<< " " << x << " " << &y << " " <<y<< endl;
Это компилируется нормально и приводит к:
0 003AFA08 0 003AFA08
Что мне трудно понять, почему преобразование x, int, в &y, ссылку, не приводит к ошибке. Сначала я подумал, что это какое-то преобразование, однако
int &y = &x;
приводит к ошибке.
Может ли кто-нибудь объяснить, почему это работает таким образом? Заранее спасибо.