|
0 / 0 / 1
Регистрация: 19.02.2017
Сообщений: 16
|
|
Как использовать одну переменную в двух модулях?09.12.2017, 18:37. Показов 8043. Ответов 8
Метки нет (Все метки)
У меня есть несколько форм. Каждая из них связана через alt+f11 с другими формами. Нужна передавать данные с одной формы на другую. Я создал общий .h файл, занес туда общие переменные и включил его во все остальные модули. Пишет "переменная definde in both module...". Пробовал и extern вставлять в .h файле и #ifndef, все равно либо ошибку выдает, либо создает по несколько одинаковых переменных в разных модулях. Как это правильно делать?
0
|
|
| 09.12.2017, 18:37 | |
|
Ответы с готовыми решениями:
8
Как использовать одну и ту же переменную несколько раз в одном коде Как одну функцию использовать в двух проектах Как собственные типы (typedef) использовать в других модулях программы |
|
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
|
|
| 09.12.2017, 18:53 | |
Сообщение было отмечено Garis_Sv как решение
Решение
Garis_Sv, для переменных завести cpp-шник, в h файле определять их через extern. Но наверное лучше будет поместить их в какой-нибудь объект (скажем какого-нибудь класса типа GlobalAppState) и дать модулям ссылки на этот объект. По крайней мере, у вас будет больше контроля над их инициализацией.
Добавлено через 11 минут "для определения переменных завести cpp-шник, в h файле объявлять их через extern." - редактировать уже не могу, поэтому пишу здесь. Но в любом случае, глобальные переменные (по крайней мере в их чистом виде) - зло.
1
|
|
|
0 / 0 / 0
Регистрация: 18.07.2018
Сообщений: 5
|
|
| 26.10.2018, 17:14 | |
|
extern
надо писать в .c файле где описываешь переменные? у меня с ним работает вроде. open watcom
0
|
|
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
|
| 26.10.2018, 17:26 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 18.07.2018
Сообщений: 5
|
|
| 26.10.2018, 19:02 | |
|
0
|
|
|
4082 / 2680 / 432
Регистрация: 09.09.2017
Сообщений: 11,900
|
||||||||||||||||
| 26.10.2018, 19:47 | ||||||||||||||||
file.h
file.cpp
main.cpp
0
|
||||||||||||||||
|
0 / 0 / 0
Регистрация: 18.07.2018
Сообщений: 5
|
|
| 26.10.2018, 20:07 | |
|
я написал уже, как с var.
как static какая-то переменная не прописалась. при случае попробую помозговать. только я еще свои классы не создавал. начинал в 90-х может начале 0-х с мелкосовтовского C 6. сейчас поставил перед собой задачу. консольная программа для фидонет узла
0
|
|
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
||||||
| 26.10.2018, 21:22 | ||||||
|
Wit5064, статик глобальная переменная, локальна на 1 единицу трансляции, она какраз и будет в разных модулях копироваться, но это значит что её нельзя повторно использовать в глобальном пространстве, extern наоборот.
0
|
||||||
|
0 / 0 / 0
Регистрация: 18.07.2018
Сообщений: 5
|
|
| 27.10.2018, 04:36 | |
|
Все типы можно описывать как статик?
у меня есть и FILE * и на начало цепочки самописных структур, определенных в .h файле черед typydef?
0
|
|
| 27.10.2018, 04:36 | |
|
Помогаю со студенческими работами здесь
9
Как сделать одну глобальную переменную Как прочитать строку с пробелами из файла в одну переменную? Как заменить одну переменную на другую во всем коде Как использовать переменную во всех файлах?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|