| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Общая переменная |
| Автор: Robix 5.9.2010, 19:19 |
| Здравствуйте. Имеются файлы order.cpp и product.cpp + bridge.h Содеpжание файла bridge.h bool bridge = true; В order.cpp я включаю #include "bridge.h" а переменная bridge после вызова определенной функции устанавливается в false После этой функции создается новое окно и задействуется код из файла product.cpp В product.cpp я тоже включаю #include "bridge.h" И тут после вызова деструктора переменная bridge устанавливается в true Компилятор выдает ошибку. Насколько я понял, говорит о том, что переменная bridge много используется. Но как тогда мне создать общую переменную для двух файлов .cpp ? |
| Автор: alexvs11 5.9.2010, 19:52 | ||
| в bridge.cpp ( или любом другом .cpp, например stdafx.cpp ) bool bridge = false; в bridge.h
|
| Автор: Леопольд 5.9.2010, 20:02 |
| Robix, нарушено ODR (one definition rule - правило одного определения). Т.е. переменная с внешним связыванием (не const и не static) может быть много раз объявлена, но только один раз определена. Добавлено через 3 минуты и 41 секунду Здесь вообще не надо ничего писать. Эта фиговина нужна для предкомпиляции заголовочных файлов. Если вносить туда постоянные изменеия, то всё будет перекомпилироваться заного. Можно вообще глюк студии поймать, например, проект перестанет компилироваться. Эта фишка совсем не стандартная. |