Pequeña duda con warning en matriz[][]

Iniciado por erickgracia, 16 Febrero 2015, 02:59 AM

0 Miembros y 1 Visitante están viendo este tema.

erickgracia

hola a todos :)

En esta ocasión no tengo ningun error (por lo menos de compilación :D , aunque esperaría que checaran si se puede escribr mejor la matriz) , pero tengo un warning que me marcan el IDE al declarar esta matriz


const char ejemplo[10][10]={
{'X','X','X','X','X','X','X','X','X','X'},
{'X','X','X','X','X','X','X','X','X','X'},
{'X','X','X','X','X','X','X','X','X','X'},
{'X','X','X','X','X','X','X','X','X','X'},
{'X','X','X','X','X','X','X','X','X','X'},
{'X','X','X','X','X','X','X','X','X','X'},
{'X','X','X','X','X','X','X','X','X','X'},
{'X','X','X','X','X','X','X','X','X','X'},
{'X','X','X','X','X','X','X','X','X','X'},
{'X','X','X','X','X','X','X','X','X','X'},
};


Estos son los warnings en cuestion, ¿tienen alguna idea de por que los marcan y como evitarlos?, no me molestan al momento de ejecutar, pero si me perturba el ver los warnings marcados en el codigo jejeje.

Citar
Multiple markers at this line
   - non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by
    default]
   - extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]

De antemano gracias por su tiempo, si me pudieran decir una manera más óptima de declarar este tipo de matriz sería una gran ayuda (y puede que hasta sea el motivo por el que me marca el warning xD).  ;D

vangodp

Si tienes una matriz de chars de 10 lineas por 10 columnas no deberías ocupar la ultima columna ya que en ella deberia ir el caracter '\0' que indica el fin de la cadena. Si ocupas las 10 columnas el compilador va intentar poner el '\0' en la 11ª  :o  ¡Y PUEDE QUE LO CONSIGA! eso es lo peor que veo. Los demás son avisos... Aun que no sabría decirte el por que.

Sobre la matriz mejor declaras de 10 por 11 así te queda el ultimo asegurado.

char matriz [10][10+1] =D

suerte