我一直在想这个问题,我似乎无法解决这个问题。谁能分享有关我的问题和可能的解决方案的一些技术细节。
我所拥有的:
A.h
class A {
typedef A* APtr;
};
Program.h
#include "A.h"
Class Test
{
A::APtr _aPtr;
};
我想做的是消除在A.h
中包含标头Program.h
的需要,并希望使用一个前向声明从APtr
声明类型定义的A.h
向前声明。
希望我已经澄清了我的问题。
谢谢
答案 0 :(得分:2)
如果您唯一的目标是从#include A.h
中删除Program.h
,而您只需要对A
内部的Program.h
进行指针访问,则只需向前声明该类即可,并直接使用指针类型。
class A;
class Test
{
A* _aPtr;
};
正如@Swordfish在您的问题下的评论中所述,您不能使用前向声明来访问类中的成员。