L'erreur est assez claire. Au moment où vous essayez d'allouer un tableau:
Record *room = new Record[5];
un constructeur par défaut, c'est-à-dire Record::Record()
, doit être implémenté de sorte que 5 instances de Record
peut être créé:
struct Record
{
...
Record() : average(0.0) { }
Record(int s[], double a) { ... }
};
Notez également que l'allocation dynamique est quelque chose que vous voulez éviter autant que possible en C ++ (sauf les situations où vous en avez une très bonne raison). Dans ce cas, il serait plus raisonnable d'utiliser un std::vector
Au lieu:
std::vector<Record> records(5);