Круговая зависимость: нельзя удалить неполный тип

Я не понимаю, почему я получаю ошибки этого компилятора:Это соответствующий код:Любые идеи, как это исправить?
4 голоса | спросил Talor T 19 J0000006Europe/Moscow 2017, 17:50:50

1 ответ


0
Определение деструктора ---- +: = 0 =: + ---- требует, чтобы ---- +: = 1 =: + ---- было завершено, то есть определено, а не только объявлено.Поскольку ---- +: = 2 =: + ---- является (n косвенным) членом ---- +: = 3 =: + ---- , определение деструктора ---- +: = 4 =: + ---- требует определения деструктора ---- +: = 5 =: + ---- и, следовательно, также определения ---- +: = 6 =: + ---- , который не был предоставлен.Решение: Определите ---- +: = 7 =: + ----, прежде чем определить ---- +: = 8 =: + ---- .Минимальный пример:PS Учтите, что вы никогда не можете иметь ---- +: = 10 =: + ---- указывать на ---- +: = 11 =: + ----, который указывает на то же самое ---- +: = 12 =: + ---- .В такой ситуации вы получите бесконечную рекурсию разрушений уже разрушенных объектов.И несколько ---- +: = 13 =: + ---- не может владеть одним и тем же ---- +: = 14 =: + ---- и наоборот.Подумайте, имеет ли смысл ваша структура собственности.Я подозреваю, что вам нужно либо совместное владение, либо не владеющее рефералом.
ответил eerorika 19 J0000006Europe/Moscow 2017, 18:01:12

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132