¿Por qué la operación de incremento como "a [i] = i ++;" produce un comportamiento indefinido? [duplicar]

Posible duplicado:
Comportamiento indefinido y puntos de secuencia

#include <iostream>
using namespace std;

int main()
{
int x[3] = {};
int i=0;
x[i] = i++;
cout << x[0] << " " << x[1] << endl;
return 0;
}

El teclado me está dando esto: Línea 9: advertencia: la operación en 'i' puede estar indefinida ¿Por qué la operación está indefinida?

Respuestas a la pregunta(2)

Su respuesta a la pregunta