La sintassi dell'initialization list si può usare per inizializzare oggetti "interi", non sotto-oggetti (come nel caso dei singoli elementi degli array). La sintassi corretta sarebbe:
codice:
Campionato::Campionato() : 
    squadre{
        "Italia",
        "Germania",
        "Francia",
        "Belgio",
        "Brasile",
        "Argentina",
        "Uruguay",
        "USA",
        "Cile",
        "Spagna",
        "Portogallo",
        "Olanda",
        "Inghilterra",
        "Messico",
        "Colombia",
        "Ghana"},
    gironi{
        Girone(squadre[0],squadre[8],squadre[6],squadre[7], "A"),
        Girone(squadre[1],squadre[2],squadre[15],squadre[13], "B"),
        Girone(squadre[3],squadre[4],squadre[10],squadre[12], "C"),
        Girone(squadre[5],squadre[9],squadre[11],squadre[14], "D")
        }
valida tuttavia solo da C++11 (in C++98 non esiste modo per inizializzare un array tramite initialization list).