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.