Wrong form:
int &z = 12;
Correct form:
int y; int &r = y;
Question:
12 is a compile-time constant which can not be changed unlike the data referenced by int&. What you can do is
12
int&
const int& z = 12;