5 / 5 / 2
Регистрация: 30.01.2012
Сообщений: 153
|
|
1 | |
Объявление глобальных переменных в проекте Dev C++17.12.2013, 01:51. Показов 2354. Ответов 19
Метки нет (Все метки)
Доброй ночи всем!
Подскажите, пожалуйста, как правильно объявить глобальные переменные в проекте. У меня есть один файл, например, для ввода данных, а другой из обрабатывает и 3 - главный, в котором собраны все вызывающиеся функции. Сначала вынесла переменные в data.h и подключала ко всем файлам - компилятор ругается, мол, несколько раз декларирую переменные. подключив данный файл только к одному файлу, компилятор не ругается, но в других фалах обрабатывать полученные данные невозможно. Есть ли вариант, как организовать это дело? Или может лучше сделать ввод всех локальных данных в главном файле, и передавать их в параметрах вызываемых функций?
0
|
17.12.2013, 01:51 | |
Ответы с готовыми решениями:
19
Объявление глобальных переменных Как избавиться от глобальных переменных в многофайловом проекте на С++? Объявление глобальных в контексте приложения переменных Объявление глобальных переменных для всего проекта |
390 / 365 / 111
Регистрация: 03.02.2013
Сообщений: 1,120
|
|
17.12.2013, 03:07 | 3 |
объявлять три способа: самый простой - инклуд того h-файла сложнее - static-переменная ещё сложнее - extern-переменная в cpp такие вещи точно не стоит пихать
0
|
390 / 365 / 111
Регистрация: 03.02.2013
Сообщений: 1,120
|
|
17.12.2013, 03:15 | 5 |
ответ на вопрос автора
есть варианты лучше?
0
|
390 / 365 / 111
Регистрация: 03.02.2013
Сообщений: 1,120
|
|
17.12.2013, 03:22 | 7 |
0
|
390 / 365 / 111
Регистрация: 03.02.2013
Сообщений: 1,120
|
|
17.12.2013, 03:35 | 9 |
Ещё скажите что вы этим пользуетесь, у меня сейчас скажем проект, где пара клиент-сервер неазависимо живёт, не приложу ума как сделать им неименованное пространство имён, да даже сам термин "неименованнное пространство имён" звучит странно, не находите?
0
|
alsav22
|
17.12.2013, 03:49
#10
|
0
|
alsav22
|
17.12.2013, 04:09
#11
|
0
|
gray_fox
|
17.12.2013, 04:20
#12
|
0
|
5 / 5 / 2
Регистрация: 30.01.2012
Сообщений: 153
|
|
17.12.2013, 22:15 [ТС] | 14 |
я попробовала static - не делает переменные видимыми и в других файлах. просто значение переменной сохраняется между вызовами функций.
в итоге решила все-таки отказаться от глобальных переменных - буду передавать переменные в функции по параметрам.
0
|
5 / 5 / 2
Регистрация: 30.01.2012
Сообщений: 153
|
|
17.12.2013, 22:21 [ТС] | 16 |
знаю, что использовать глобальные переменные не айс, поэтому и предпочла передачу по параметрам
0
|
alsav22
|
17.12.2013, 22:28
#17
|
0
|
5 / 5 / 2
Регистрация: 30.01.2012
Сообщений: 153
|
|
17.12.2013, 22:44 [ТС] | 18 |
alsav22, попробовала, сделала с помощью extern, работает, но как правильно подключить файл data.h с описанием переменных - подключает только к одному файлй cpp, если к нескольким подключаю, то выдает ошибку
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
18.12.2013, 00:14 | 19 |
Как сделали? Файлы можете выложить? Трудно что-либо советовать вслепую...
Добавлено через 2 минуты Нельзя делать объявления (они же определения) переменных в заголовочных файлах, которые подключаются к нескольким .cpp файлам. Добавлено через 40 минут У "Л.Лафоре. ООП в С++" есть глава: "Многофайловые программы". Почитайте, возможно вопрос прояснится.
1
|
5 / 5 / 2
Регистрация: 30.01.2012
Сообщений: 153
|
|
18.12.2013, 16:07 [ТС] | 20 |
alsav22, спасибо большое за книгу. Разобралась. Все стало на свои места!
0
|
18.12.2013, 16:07 | |
18.12.2013, 16:07 | |
Помогаю со студенческими работами здесь
20
Рассмотреть программу, написать имена глобальных переменных, локальных переменных, формальных параметров Объявление глобальных переменной в нескольких библеотеках О глобальных переменных Поиск глобальных переменных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |