Вперед объявить typedef указатель на класс - PullRequest
0 голосов
/ 24 сентября 2018

Я размышлял об этом в течение некоторого времени, и я просто не могу обернуться вокруг него.Кто-нибудь поделится некоторыми техническими деталями вокруг моего вопроса и возможных решений.

Что у меня есть:
А *

class A {
  typedef A* APtr;
};

Program.h

#include "A.h"

Class Test
{
  A::APtr _aPtr;
};

То, что я пытаюсь сделать, это устранить необходимость включения заголовка A.h в Program.h и хотеть переслать объявление определенного типа APtr из A.h с пересылкойзаявление.

Надеюсь, я прояснил свой вопрос.

Спасибо

1 Ответ

0 голосов
/ 24 сентября 2018

Если ваша единственная цель - исключить #include A.h из Program.h и вам нужен только указатель доступа к A внутри Program.h, тогда достаточно просто объявить класс вперед и напрямую использовать тип указателя.

Program.h

class A;

class Test
{
  A* _aPtr;
};

Как уже упоминалось в комментарии к вашему вопросу в @Swordfish, вы не можете использовать предварительное объявление для доступа к членам внутри класса.

...