gpt4 book ai didi

c++ - 为什么在多文件中使用类声明友元函数时出现错误类未定义?

转载 作者:行者123 更新时间:2023-11-28 04:09:06 24 4
gpt4 key购买 nike

我在 Nhanvien 类中创建了一个友元函数“display”(List 类的成员)。声明了 List 但它仍然保留此错误:

C2027 use of undefined type 'List'.

我正在使用 Visual Studio。我该如何解决?请帮我。抱歉我的英语不好:<

这是我的来源:

*//List.h*
#pragma once

#include"Nhanvien.h"

class Nhanvien;

class List
{

Nhanvien* p;

public:

List();
List(int);
~List();
void display(int);
};


*//Nhanvien.h*

#pragma once
#include<iostream>
#include "Date.h"
#include"List.h"

class List;
class Nhanvien
{

private:

char maNV[100];
std::string tenNV;
Date ngay;
bool gioitinh;
double luong;

public:

Nhanvien();
Nhanvien(const Nhanvien&);
~Nhanvien();
void set();
void show();
static int count;
friend void List::display(int);
};

show error

最佳答案

您具有 header 的递归依赖性。

//List.h

#pragma once

#include"Nhanvien.h"

//...

//Nhanvien.h

#pragma once
#include<iostream>
#include "Date.h"
#include"List.h"
//...

所以头文件 List.h 首先包含头文件 Nhanvien.h 并且这个头文件还没有看到类 List 的声明>.

关于c++ - 为什么在多文件中使用类声明友元函数时出现错误类未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58205275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com