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
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