Fout bij constructor: verwachtte een identifier?

Ik werk met een aantal klassen met compositie en ik krijg steeds deze fout (verwacht een identifier) ​​wanneer ik de constructor probeer te implementeren, hier de class-header:

#ifndef STUDENT_H_
#define STUDENT_H_
#include "University.h"
class Student {
public:
    Student(); // constructor
    friend ostream & operator<<(ostream &, Student &); // print the student data
    friend istream & operator>>(istream &, Student &); // to read student data
private:
    const int id; 
    string name; 
    int marks[5];
    Date admissionDate; // Composition
    University university;  // Composition
};
#endif

wat moet ik doen om deze fout op te lossen?

hier is de cpp, maar ik heb de andere io-functies nog steeds niet geïmplementeerd omdat ik die fout eerst wil oplossen..

#include "Student.h"
Student::Student(){}
ostream & operator<<(ostream &, Student &){} 
istream & operator>>(istream &, Student &){}

Antwoord 1, autoriteit 100%

Aangezien een Student een const int id-lid heeft, moet u deze initialiseren in de
initialisatie lijst. Bijv.:

Student::Student() : id(0)
{ }

Antwoord 2, autoriteit 98%

Uw constructor moet op de volgende manier worden gedefinieerd

Student::Student() { /* some code */ } 

LEAVE A REPLY

Please enter your comment!
Please enter your name here

1 × 4 =

Other episodes