foreach não reconhecido em C ++

No meu livro cs106b, usamos a expressão "foreach" para percorrer uma lista de palavras em um mapa. Eu implementei o código e bati minha cabeça contra a parede, enfrentando erros misteriosos. Aqui está o código:

   void DisplayWordCounts(Map<int> & wordsCount) {
     foreach (string word in wordsCount) {
        cout << left << setw(15) << word << right << setw(5)
        << wordsCount[word] << endl;
     }
}

na linha que começa com "foreach", obtenho os seguintes erros: lição4-macbeth / life.cpp: 58: erro: expressão primária esperada antes de 'palavra' lição4-macbeth / life.cpp: 58: erro: 'foreach' foi não declarado neste escopo lição4-macbeth / life.cpp: 58: erro: esperado `; ' antes do token '{'

Eu acho que foreach não é reconhecido. Nesse caso, como posso percorrer uma lista de itens da classe Map?

questionAnswers(9)

yourAnswerToTheQuestion