我的头文件中出现了一些我似乎无法解决的错误。它们似乎都在使用class Tutor
类型的行中。
这是我的代码:
#pragma once
#include "Pupil.h"
#include "Tutor.h"
class Class
{
char name;
int num;
Pupil** pupils;
int pupil_amount;
Tutor* tutor;
public:
Class();
Class(char, int);
~Class();
bool Add_Pupil(Pupil* p);
Pupil* Get_Pupil(int ind);
int Get_Amount()const { return pupil_amount; }//get the amount of pupils
int Get_Num()const { return num; }//get the name of the class
Tutor* Get_Tutor()const { return tutor; } //return a pointer to the tutor
void Add_Tutor(Tutor* t) { tutor = t; }//set a tutor recieved as a pointer
char Get_Name()const { return name; }
};
这些是错误:
我通过宣布“Tutor”课程为朋友解决了这个问题,但后来我的教授告诉我不要使用朋友声明。 我尝试将该函数移动到.cpp文件中,但没有运气。
有没有办法可以在不使用朋友的情况下解决这个问题?
答案 0 :(得分:1)
发生此错误是因为编译器在编译“类”时编译器没有声明“Tutor”类。检查'Tutor.h'是否真的包含Tutor类的声明。