Я пытаюсь реализовать шаблон двойной отправки, но получаю круговую зависимость, которую я не могу разрешить с помощью прямого объявления (поскольку это было разрешено в этой задаче link).Циркулярная зависимость с двойной отправкой
Ниже приведен пример моей проблемы:
заголовка 1:
Заголовок 2:
class Collection
{
public:
void add(const Blockage& b)
{ ... }
void add(const Boundary& b)
{ ... }
...
private:
boost::unordered_set<Boundary> m_boundaries;
boost::unordered_set<Blockage> m_blockages;
}
Я не вперед объявить Boundary
и Blockage
в заголовке 2, так как Мне нужен полный тип для использования boost::unordered_set
. Любые советы по решению этой проблемы?
Semi связанных ... Перемещение реализаций 'add' в заголовке 2 в соответствующий исходный файл. Держите заголовки простыми и чистыми! –
Спасибо, и да, 'add' не реализован в заголовке 2, я не знаю, почему я добавил скобки в примере. – dlavila