Не могу понять почему в коде появляется ошибка

вот мое задание: Написать программу считывающую с файла все даты в формате <дд.мм.рррр> (например, 16.01.2000) и помещает в результирующий файл строка: <количество повторений даты – дата>. Кроме этого программа должна вывести на экран дату с наибольшим числом повторений. Язык программы С++

Абсолютно не понимаю как ее исправить(

Пишет, отсутствует список аргументов для шаблон класса "std::map"

Вот мой код:

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include<fstream>
#include<string>
#include <cstring>
#include <cctype>
#include <Windows.h>
#include <map>
using namespace std;
int main()
{
    // Откроем файл для чтения
    ifstream input("input.txt");

    // Словарь для сохранения дат
    map dates;

    // Переменная для хранения текущей даты
    string date;

    // Чтение дат из файла
    while (input >> date)
    {
        // Увеличим счетчик даты на 1
        dates[date]++;
    }

    // Откроем файл для записи
    ofstream output("output.txt");

    // Переменная для хранения даты с максимальным количеством повторений
    string maxDate;
    int maxNumber = 0;

    // Перебираем все даты
    for (const auto& pair : dates)
    {
        // Запишем в файл информацию о дате
        output << pair.second << " - " << pair.first << endl;

        // Если текущая дата имеет больше повторений, чем предыдущая
        if (pair.second > maxNumber)
        {
            // Сохраним дату с максимальным количеством повторений
            maxDate = pair.first;
            maxNumber = pair.second;
        }
    }

    // Выведем на экран дату с наибольшим числом повторений
    cout << maxDate << endl;

    return 0;
}

Ответы (0 шт):