Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/02/2015, 12:06
lareto
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Inicializar array bidimensional

No puedes modificar los elementos de un array con una lista de inicialización, que es lo que pretendería hacer la línea
Cita:
tablero = {1}; //Inicializamos todo el array a 1(vacío).
La respuesta simple podría ser: inicializar() recibe un array con valores, y no se puede asignar nuevos valores a un array a través de una lista de inicialización.

Aunque en realidad, inicializar() no recibe un tTablero, como podría parecer, sino que al pasar un array de estilo C como parámetro de función, ese array "decae" en un puntero a su primer elemento (esa es la regla). Entonces, lo que recibe inicializar() es un puntero a un array de N elementos. De modo que inicializar() podría haberse escrito así:
void inicializar( int(*tablero)[4] )

Y a ese puntero no le puedes asignar una lista de inicialización.

Tu compilador ha hecho lo que pudo para darte un mensaje de error, pero ha podido poco, ciertamente.