¿Problema extraño al rellenar una lista con objetos en C ++?

He creado una clasePatient y quiero completar una lista dePatients con objetos que he creado a través del constructor explícito. Sin embargo, recibo un errorType name is not allowed cuando trato de llenar ellist<Patient> usando el `= {} (lista de inicializadores). Me gustaría preguntar ¿qué estoy haciendo mal?

#include "pch.h"
#include <iostream>
#include <string>
#include <list>
using namespace std;
class Patient {
    string name;
    string birthday;
    int visits;
    public:
    Patient(string n, string b, int v) {
        name = n;
        birthday = b;
        visits = v;
    }

};
list<Patient> sp = {
Patient a("I.Petrov", "21.12.02", 4),
Patient b("D.Stoyanov", "12.02.97", 7),
Patient c("K.Dimitrov", "07.08.90", 1)
};

int main()
{



    return 0;
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta