오류는 매우 명확합니다. 배열을 할당하려고 할 때까지 :
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);