Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/07/2014, 11:51
Avatar de anggiebs
anggiebs
 
Fecha de Ingreso: julio-2014
Ubicación: Madrid
Mensajes: 35
Antigüedad: 9 años, 9 meses
Puntos: 0
Pregunta La variable está siendo usada sin ser inicializada.

Hola a todos ! Soy totalmente nueva en esto,espero puedan ayudarme :)
Mi práctica consiste en el juego Mastermind.

El error que me sale dice que la variable color no está inicializada .
Yo lo que he hecho es crear una función llamada converNumEnum (convertir de un numero entero a tipo enumerado) ya que al obtener el codigo aleatorio lo que obtenemos es un número entero y tenemos que luego relacionarlo con el enumerado .
En esta función converNumEnum tengo al final el "return color;"
Yo entiendo que al salir de esta función el "color" debería reconocerlo el siguiente paso de la función codigoAleatorio(tCodigo secreto) ,es decir,secreto[i]=color;
Sin embargo es justo ahí donde me señala el error

Estas son mis dos funciones:

tColores converNumEnum(int codeSecreto){
tColores color;
switch(codeSecreto) {
case 0: color = rojo;
break;
case 1: color = azul;
break;
case 2: color = verde;
break;
case 3: color = negro;
break;
case 4: color = granate;
break;
case 5: color = marron;
break;
}
return color;
}

/* Genero un código aleatorio de longitud 4(FICHAS_JUGADA) que luego guardaré en el array tCodigo secreto. */

void codigoAleatorio(tCodigo secreto){
int codeSecreto;
int num[FICHAS_TOTALES];
tColores color;

for (int i = 0 ; i< FICHAS_JUGADA; i++){ //Para cada posición (bucle)

/*Genera un número aleatorio del 0 al 5 con repetición. */
codeSecreto= rand() % FICHAS_TOTALES;
num[i] = codeSecreto;
converNumEnum(codeSecreto); //Llamada a la función anterior

/*Los tipos enumerados se guardan en el array tCodigo secreto. */
secreto[i]=color;
}

//Mostramos el codigo aleatorio en pantalla:
for (int j = 0 ; j< FICHAS_JUGADA; j++){
cout << secreto[j] << " ";
}
}