0

共有三个.h文件

啊:

#ifndef __A_H__
#define __A_H__

#include"Card.h"
#include"B.h"

struct A{
    Card card;
    .....
};

void getCards(A *a, int num);

#endif

溴化氢

#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

卡片.h

#ifndef __CARD_H__
#define __CARD_H__

struct Card{
    int num;
    char *type;
};

#endif

由于A.hB.h相互包含,因此并非所有头文件都包含在内。

请给我一些建议。

4

1 回答 1

2

据我所知,您不需要在“Ah”文件中包含“Bh”。所以删除它以减少依赖。在“Bh”文件中包含“Ah”似乎也没有必要。一个简单的前向声明就足够了。

溴化氢

#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
于 2015-03-19T10:29:34.100 回答