构造函数出错:预期标识符?

时间:2013-12-24 16:55:50

标签: c++ oop

我正在处理一堆带有组合的类,当我尝试实现构造函数时,我不断收到此错误(预期的标识符),这里是类标题:

#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

我需要做些什么来解决这个错误?

这里是cpp,但我仍然没有实现其他io函数,因为我想先解决这个错误..

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

2 个答案:

答案 0 :(得分:3)

您的构造函数应按以下方式定义

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

答案 1 :(得分:1)

由于Student有一个const int id成员,你需要在构造函数中初始化它 初始化列表。 E.g:

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