Saludos,
llevo bastante tiempo tiempo dándole vueltas a un problema y no lo consigo resolver.
(véase la imagen).
El código interesante para la cuestión es:
class Board
{
public:
...
Team* Board::getTeam(TTeam t) const
{
return boardTeams[t];
}
private:
Team** boardTeams;
...
}
class MiAI
{
public:
foo(const Board* board);
private:
TTeam aiTeam;
};
// los team se crean en el constructor del tablero mediante:
boardTeams = new Team*[2];
boardTeams[0] = new Team;
boardTeams[1] = new Team;
// pues en MiAI::foo(const Board* board) me pasa lo de la imagen, y es que:
a) board->getTeam(TEAM_A) // me funciona bien (en la imagen)
b) aiTeam == TEAM_A //me devuelve 1
c) aiTeam dice ser TEAM_A // (en la imagen)
y sin embargo,
d) board->getTeam(aiTeam) me da una Access Violation 0xC0000005
He actualizado el msvc a SP6 por si las moscas. Llevo ya ni se sabe el tiempo y soy incapaz de saber qué pasa. A alguien se le ocurre?
Gracias de antemano.