Der Fehler ist ziemlich klar. Wenn Sie versuchen, ein Array zuzuweisen:
Record *room = new Record[5];
ein Standardkonstruktor, dh Record::Record()
, muss implementiert werden, damit 5 Fälle von Record
kann erstellt werden:
struct Record
{
...
Record() : average(0.0) { }
Record(int s[], double a) { ... }
};
Beachten Sie auch, dass die dynamische Zuweisung etwas ist, das Sie in C ++ so viel wie möglich vermeiden möchten (mit Ausnahme der Situationen, in denen Sie wirklich einen guten Grund dafür haben). In diesem Fall wäre es vernünftiger, eine zu verwenden std::vector
stattdessen:
std::vector<Record> records(5);