PDA

View Full Version : [C++] problema compilazione "was not declared in this scope"


palermitanodoc
31-05-2012, 18:02
Salve a tutti, tengo un problema quando vado a compilare il mio programma. Tengo due funzioni in un file .cpp, perņ quando vado a compilare esce questo errore " valorMin was not declared in this scope". Perņ la funziona la vado a definire dopo.

double valorMax (const Environment &estado, int jug, Environment::ActionType accion, int limite_profundidad)
{
Environment hijo[4];
int sucesores=estado.GenerateNextMove(hijo,jug);
if ((sucesores==0)||(limite_profundidad==0)) return Heuristica(estado,jug);
double v= -100000000;
for (int i=0; i < sucesores;i++)
v=max(v,valorMin(hijo[i],jug,accion,limite_profundidad-1));
return v;
}

double valorMin (const Environment &estado, int jug, Environment::ActionType accion, int limite_profundidad)
{
Environment hijo[4];
int sucesores=estado.GenerateNextMove(hijo,jug);
if ((sucesores==0)||(limite_profundidad==0)) return Heuristica(estado,jug);
double v= +100000000;
for (int i=0; i < sucesores;i++)
v=min(v,valorMax(hijo[i],jug,accion,limite_profundidad-1));
return v;
}

ho provato a invertire le funzioni, e mi esce un errore uguale, perņ riferito alla funzione valorMax..come posso soluzionare? grazie

oiio
31-05-2012, 21:23
Aggiungi i prototipi all'inizio del file, oppure in un header esterno da importare...
double valorMin (const Environment &estado, int jug, Environment::ActionType accion, int limite_profundidad);
double valorMax (const Environment &estado, int jug, Environment::ActionType accion, int limite_profundidad);

palermitanodoc
01-06-2012, 18:03
Aggiungi i prototipi all'inizio del file, oppure in un header esterno da importare...
double valorMin (const Environment &estado, int jug, Environment::ActionType accion, int limite_profundidad);
double valorMax (const Environment &estado, int jug, Environment::ActionType accion, int limite_profundidad);

perfetto ho risolto l'errore di prima, ma ora ho problemi con altri errori mai visti..sapete dirmi di cosa si tratta? il file era un progetto di un professore dove noi dovevamo implementare l'algoritmo minimax per la risoluzione di un gioco.

http://i49.tinypic.com/2cofrlf.png

tomminno
02-06-2012, 16:09
Undefined reference: mi sa tanto che non stai referenziando una qualche libreria esterna oppure ti sta mancando qualche file cpp.

palermitanodoc
02-06-2012, 19:14
i file .cpp c'erano tutti; ho risolto con un "rebuild", quindi era qualche problema al livello di compilazione..in ogni caso grazie a tutti e due :)