机房预约系统报错
本帖最后由 ccccsdf 于 2023-3-29 16:18 编辑#pragma once
#include<vector>
#include<iostream>
#include<fstream>
#include<algorithm>
#include"identity.h"
#include"globalfile.h"
#include"student.h"
#include"teacher.h"
#include"computerroom.h"
using namespace std;
class manager :public identity
{
public:
manager();
manager(string name, string pwd);//用户名、密码
virtual void openmenu();
void addperson();//添加账号
void showperson();//查看账号
void showcomputer();//查看机房信息
void cleanfile();//清空预约记录
void initvector();//初始化容器
bool checkrepeat(int id, int type);//判断id是否重复
vector<student> stu;//学生容器
vector<teacher> tea;//老师容器
vector<computerroom> com;//机房容器
};
这段中报错
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2065 “computerroom”: 未声明的标识符 机房预约系统 D:\项目\机房预约系统\manager.h 41
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2923 “std::vector”: 对于参数“_Ty”,“computerroom”不是有效的 模板 类型变量 机房预约系统 D:\项目\机房预约系统\manager.h 41
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2065 “student”: 未声明的标识符 机房预约系统 D:\项目\机房预约系统\manager.h 37
可是我明明声明了computerroom和teacher的头文件
下面我给出computerroom和teacher的定义文件
#pragma once
#include<iostream>
#include"manager.h"
using namespace std;
class computerroom
{
public:
int m_comid;//机房id
int m_maxnum;//最大容量
};
#pragma once
#include<iostream>
#include<vector>
#include<fstream>
#include"computerroom.h"
#include"globalfile.h"
#include"identity.h"
using namespace std;
class student :public identity
{
public:
student();//构造函数
student(int id, string name, string pwd);//有参构造,载入学号、用户名、密码
virtual void openmenu();//菜单界面
void applyorder();//申请预约
void showorder();//显示预约
void showallorder();//显示所有预约
void cancelorder();//取消预约
void initvector();//获取机房信息
int m_id;//学号
vector<computerroom> ccom;//机房信息容器
}; 我发现必须在manager.h里面重新声明class computerroom;class student;才行,搞不懂为什么,之前明明不用的
页:
[1]