У меня есть код, который содержит огромное количество файлов cpp/header. Моя проблема заключается в том, что, поскольку многие включают друг друга, я иногда попадаю в ситуацию, когда мой код не компилируется, если я не переупорядочу директивы #include
в случайных файлах, которые теперь необходимы в основном с созданием любого другого файла заголовка.Как предотвратить включение обрыва
Это действительно очень раздражает; есть ли какой-либо совет, как мне написать свой код на C++, чтобы предотвратить осложнения с помощью #include
? Я бы предпочел разделить мой исходный код на максимально возможное количество файлов, чтобы упростить взаимодействие с другими программистами (с использованием git или svn) (больше файлов - меньшее количество конфликтов редактирования).
Одна из вещей, которые помогают мне сейчас, - это объявление вперед, когда я объявляю классы из других заголовков в другие файлы. Иногда это помогает, но не решает все проблемы; иногда мне просто нужно изменить порядок #include
s в случайных заголовочных файлах или объединить несколько файлов.
Какой код вы пишете, где * заказ * в #includes имеет значение? –
это программа QT gui (исходный код @ https://github.com/huggle/huggle3-qt-lx) – Petr
Если вам нужно изменить порядок, возможно, вам не хватает защитников заголовков или пересылаемых объявлений. Или сами ваши заголовки не включают в себя то, что им нужно (хотя попытайтесь уменьшить этот w. Forward decls) –