关于单一类型的头文件中的各种错误

时间:2016-05-21 06:15:03

标签: c++ c++11 visual-c++

我的头文件中出现了一些我似乎无法解决的错误。它们似乎都在使用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; }

};

这些是错误:

enter image description here

我通过宣布“Tutor”课程为朋友解决了这个问题,但后来我的教授告诉我不要使用朋友声明。 我尝试将该函数移动到.cpp文件中,但没有运气。

有没有办法可以在不使用朋友的情况下解决这个问题?

1 个答案:

答案 0 :(得分:1)

发生此错误是因为编译器在编译“类”时编译器没有声明“Tutor”类。检查'Tutor.h'是否真的包含Tutor类的声明。