История изменений
Исправление alysnix, (текущая версия) :
читайте кодегайды по хидерам уже.
хидер как МИНИМУМ должен быть:
-
самодостаточным - то есть компилироваться без ошибок. проще говоря иметь все нуждные инклуды. для этого хидер модуля some_module.h включается в модуль some_module.cpp первым, а не какие-то «системные», «библиотечные» и проч.
-
иметь защиту от множественного включения - типа #pragma once
-
семантика определений в хидере не зависит от порядка его включения. это связано с пунктом 1
-
не иметь инклудов НЕ НУЖНЫХ для того, чтобы быть самодостаточным.
это азы. если эти азы не соблюдаются - это говнокод. и не надо изобретать граблей. никому неохота потом красноглазить с вашими хидерами, и исследовать - что пошло не так. люди найдут себе более интересное занятие.
Исходная версия alysnix, :
читайте кодегайды по хидерам уже.
хидер должен быть
-
самодостаточным - то есть компилироваться без ошибок. проще говоря иметь все нуждные инклуды. для этого хидер модуля some_module.h включается в модуль some_module.cpp первым, а не какие-то «системные», «библиотечные» и проч.
-
иметь защиту от множественного включения - типа #pragma once
-
семантика определений в хидере не зависит от порядка его включения. это связано с пунктом 1
-
не иметь инклудов НЕ НУЖНЫХ для того, чтобы быть самодостаточным.
это азы. если эти азы не соблюдаются - это говнокод. и не надо изобретать граблей. никому неохота потом красноглазить с вашими хидерами, и исследовать - что пошло не так. люди найдут себе более интересное занятие.