1. ホーム
  2. c++

[解決済み】コンストラクターでのエラー:識別子を期待されますか?

2022-01-17 17:20:40

質問

コンストラクタを実装しようとすると、次のようなエラー(Expected an identifier)が発生します(クラスヘッダ)。

#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

このエラーを解決するにはどうしたらいいですか?

しかし、このエラーを解決するのが先決なので、他のio関数はまだ実装していません...。

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

解決方法は?

を使用しているため Student には const int id メンバを使用する場合は、コンストラクタで初期化する必要があります。 初期化リストです。例

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