Duda sobre matrices y los enum

Iniciado por jorgefer92, 14 Enero 2011, 19:28 PM

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

jorgefer92

El caso esque tengo que hacer un ejercicio en el cual me dan esto:
Código (cpp) [Seleccionar]
const int VGNUMCOLS = 5; // número de colores
typedef enum {VGBlanco, VGRojo, VGVerde, VGAzul, VGNegro} VGColores;
const int VGDM = 10; // matriz de VGDM x VGDM
void vgMatriz(double x, double y, VGColores matCol[VGDM][VGDM]);


Todo lo de VG esta definido en una libreria y carpeta que nos dieron, hay que leer la matriz de un archivo hasta ahi bien, pero el problema viene que me dice que no puedo asignarle los valores del texto a la matriz, poruqe los valores del texto estan declarados como int y la matriz como VGColores, y ahi viene el problema, alguien me puede ayudar?, puedo aportar mas datos o poner mi codigo si quereis.

el gran problema viene porque me dice :
error C2664: 'vgMatriz' : no se puede convertir el parámetro 3 de 'VGColores' a 'VGColores [][10]'
1> La conversión de un tipo integral a un tipo de puntero requiere reinterpret_cast, conversión de estilo de C o conversión de estilo de función

y no se que hacer para solucionarlo

esto esta incluido en un procedimiento pero no se porque no se hace

Código (cpp) [Seleccionar]
void vgMatriz(double x, double y, VGColores matCol[VGDM][VGDM]);
VGColores matriz[VGDM][VGDM];
int c, x=50, y=50;

ifstream entrada;
entrada.open("matriz.txt");
if (!entrada.is_open()){
cout << "Error.";
}
else{
for(int j=0; j <= 9; j++){
for(int i=0; i <= 9; i++){
entrada >> c;
switch (c){
case 0: matriz[i][j]=VGBlanco; break;
case 1: matriz[i][j]=VGRojo; break;
case 2: matriz[i][j]=VGVerde; break;
case 3: matriz[i][j]=VGAzul; break;
case 4: matriz[i][j]=VGNegro; break;
default: cout << "error"; break;
}
}
}
}
vgMatriz(x, y, matriz);
entrada.close();


eustakio12345654321

pos a mi si que me funciona

por cierto, gracias por poner la practica en internet xDD