| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Глобальные переменные(объекты) классов |
| Автор: Array 3.11.2005, 04:25 |
| Возникла проблема с глобальными переменными классов.В Unit1.h объявлен класс AСlass.В Unit1.cpp объявляется переменная AСlass VR;, в Unit1.h extern AСlass VR;. Эту переменную надо использовать в других модулях. Поэтому объявляю в Unit2.h:extern AСlass VR; Unit3.h:extern AСlass VR; ............................ и т.д. Но не компилирует."Declaration syntax error" во все хедерах. Причем попробовал сделать это с простой переменной int( extern int A) всё нормально. И компилируется,и переменная во всех модулях видна. Получается для объектов так не делается. Но простое включение хедера (через #include) не дает видимости классовой переменной в других модулях(то есть значение её не меняется). Может кто поможет разобраться? Заранее спасибо. |
| Автор: _hunter 3.11.2005, 11:36 |
| ничего не понял... ты хочеш расшарить член класса? тогда шарь класс. и получай его члены... |
| Автор: Dubinsky 3.11.2005, 14:28 |
| да нет , он наверное создаёт глобальную переменную своего класса а она не видна в других юнитах , а в Юнит2-3 стоит #include "Unit1.h" ? |
| Автор: Array 4.11.2005, 21:30 |
| Dubinsky Да, все правильно. В этом и проблема. |
| Автор: bel_nikita 4.11.2005, 21:50 |
| Вставть в Unit2.h и в Unit3.h первой строчкой: #include "Unit1.h" |