The given code compiles in C but fails in C++.

```
int main()
{
   const int x; /* uninitialized const compiles in C but fails in C++*/
}

```

What is the rationale and the reason behind the change from C to C++?