有三个.h
个文件
A.H:
#ifndef __A_H__
#define __A_H__
#include"Card.h"
#include"B.h"
struct A{
Card card;
.....
};
void getCards(A *a, int num);
#endif
B.h
#ifndef __B_H__
#define __B_H__
#include"Card.h"
#include"A.h"
struct B{
Card card;
.....
};
void getCards(A *a, B *b, int num);
#endif
Card.h
#ifndef __CARD_H__
#define __CARD_H__
struct Card{
int num;
char *type;
};
#endif
由于A.h
和B.h
互相包含,因此并非所有头文件都包含在内。
请给我一些建议。
答案 0 :(得分:1)
据我所知,你不需要包括" B.h"在你的" A.h"文件。因此删除它以减少依赖性。 包括" A.h"在你的" B.h"文件似乎也没必要。一个简单的前瞻性声明就足够了。
B.h
#ifndef __B_H__
#define __B_H__
#include"Card.h"
class A; // then you will have to include A.h in your B.cpp file
struct B{
Card card;
.....
};
void getCards(A *a, B *b, int num);
#endif