![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
OpenMan |
|
||||
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 19.4.2009 Репутация: 1 Всего: 1 |
Есть мой проект в котором есть захаркоденный размер окна, который объявлен как константа в отдельном юните.
Пришло время сделать так, чтобы размер окна менялся 1 раз за работу программы. попытался сделать его как static int. Фигня вот в чем:
Теперь если это вызывать из формы
то очевидно, что fa*gg - это одно, а returnMulty() - это другое. Другими словами для формы одни статические переменные, а для returnMulty() другие переменные. Хочу, чтобы было как в java, каждая статическая переменная имела единственный экземпляр. Как быть и что я не так делаю? |
||||
|
|||||
Леопольд |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 10 Всего: 13 |
В С++ слово static, (применительно к глобальным переменным и функциям) означает internal linkage. Может стоит выучить азы языка?
-------------------- вопросов больше чем ответов |
|||
|
||||
OpenMan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 19.4.2009 Репутация: 1 Всего: 1 |
Всё это я когда-то знал или так думал. Но немного позабыл.
Учить все сначала - не вариант. Это локальная проблема. Как я понял с Ваших слов, все так и должно быть, как оно и работает. Не удобно конечно, но ладно. Как обойти эту шнягу? Должно же быть разумное средство и в С++. Как сделать изменяемую константу (псевдоконстанту)? Чтобы её изменение в одном юните приводило к изменению во всех других юнитах? |
|||
|
||||
Леопольд |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 10 Всего: 13 |
OpenMan, надо заменить static на extern в заголовочном файле без инициализации (это будет объявление). В одном из cpp/c файлов надо определить эту переменную без слова static с инициализацией.
Это сообщение отредактировал(а) Леопольд - 23.8.2010, 17:20 -------------------- вопросов больше чем ответов |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
![]() ![]() |
|||
|
||||
OpenMan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 19.4.2009 Репутация: 1 Всего: 1 |
Пасибо. Помогло.
|
|||
|
||||
Леопольд |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 10 Всего: 13 |
mes, спасибо, поправил. Издержки печати вслепую...
![]() Это сообщение отредактировал(а) Леопольд - 23.8.2010, 17:21 -------------------- вопросов больше чем ответов |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |