Código C++:
Ver originalBoard::Board()
{
Square square;
square.hasQueen = false;
square.isSafe = true;
for (int i = 0; i <= 4; i++)
{
for (int j = 0; j <= 4; j++)
{
squares[i][j] = square;
}
}
Para i y j, has puesto de 0 a 4 inclusive, lo que hace un total de 5 elementos, con lo que estás manejando una matriz de 5x5 elementos en lugar de una de 4x4 elementos, que es la que citas en tu consulta. Recuerda que, en C / C++, los índices para las matrices van de 0 a N-1 para una dimensión de N elementos.