الخطأ واضح تماما. بحلول الوقت الذي تحاول تخصيص صفيف:
Record *room = new Record[5];
مُنشئ افتراضي ، أي Record::Record()
, ، يجب تنفيذها بحيث 5 حالات من Record
يمكن إنشاء:
struct Record
{
...
Record() : average(0.0) { }
Record(int s[], double a) { ... }
};
لاحظ أيضًا أن التخصيص الديناميكي هو شيء تريد تجنبه قدر الإمكان في C ++ (باستثناء المواقف التي يكون لديك فيها سبب وجيه لذلك). في هذه الحالة ، سيكون من المعقول استخدام std::vector
في حين أن:
std::vector<Record> records(5);