С++ я бы всё что надо запихал бы в базовый класс, а пото унаследовался бы от него теми классами что используют общий функционал. а в рамках движка я не могу этого сделать. Так например мне нужно в пешке указать умолчальный AIController (это не обязательно ибо это я делаю и в БП унаследованном классе, но хотелось бы сделать так чтобы камеру тупо можно было унаследовать и она работала из коробки) А в контроллере у меня уже еслть связка с пешкой ибо он ей управляет. Как быть?
в С++ есть pragma once
да,но он там по умолчанию стоит при создании h файлов, но всё равно не работает
pragma once ршает другую проблему forward declaration решает проблему циклических зависимостей хедеров в некоторых случаях
@norlin_ru @a_blintsov @SayHelloToGrux
Тебе же написали выше про forward declaration
если речь про extern что чтот оно не хочет работать ибо ошибку выдаёт
при экстерне вроде переменные нельзя определять там как заготовка функции пишется
Читаю Роберта Мартина: https://www.litres.ru/robert-s-martin/chistyy-kod-sozdanie-analiz-i-refaktoring-6444478/ https://www.litres.ru/robert-s-martin/chistaya-arhitektura-iskusstvo-razrabotki-program-39113892/ И судя по написанному там, если образовалась цепочка циклической зависимости - то это явная проблема архитектуры программы. Надо разрывать цикл. Добавить где-нибудь "интерфейс", и чтобы оба класса включали этот интерфейс, а непосредственно друг о друге ничего не знали. Тогда получается, что если и был цикл, то он разрывается.
создать интерфейс между контроллером и пешкой? хм... не задумывался о таком, если с этой возможностью не получится. то попробую интерфейсом сделать
да я пробывал сразу без названия, не прокатило и потому подставил
пишут что экстернить класс нельзя, только переменные и функции.
Обсуждают сегодня