Is this self initialization valid?

Viewed 3281

I have this question, which i thought about earlier, but figured it's not trivial to answer

int x = x + 1;
int main() {
  return x;
}

My question is whether the behavior of the program is defined or undefined if it's valid at all. If it's defined, is the value of x known in main?

4 Answers
Related