int main() { int x { 5 }; int& ref { x }; // valid: lvalue reference bound to a modifiable lvalue const int y { 5 }; int& invalidRef { y }; // invalid: can't bind to a non-modifiable lvalue int& invalidRef2 { 0 }; // invalid: can't bind to an r-value return 0; }