Пусть шаблон класса А определяется следующим образом:Циклическая Шаблон
template <typename T>
class A
{
B<T> b;
};
Пусть шаблон класса B определяется следующим образом:
template <typename T>
class B
{
A<T> a;
};
В идеале, эти классы будут определены в отдельных заголовков с встраиваемыми реализаций , Однако это вызовет проблему циклического включения. Одним из решений является включение реализации шаблонных классов в файл cpp. Однако для этого потребуются специализированные экземпляры шаблонов.
Есть ли способ сохранить реализацию классов в строгом соответствии и избежать циклической зависимости включения? Я хотел бы избежать использования указателей, если это возможно.
Спасибо,
Сэм
Вы не можете этого сделать, поскольку для этого потребуется бесконечное количество памяти. Здесь вы должны использовать указатели или ссылки. –
@classdaknok_t да, я думаю, вы правы. Мне может понадобиться использовать указатели ... –