Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/10: Рейтинг темы: голосов - 10, средняя оценка - 4.60
49 / 7 / 1
Регистрация: 07.11.2010
Сообщений: 52
1

глобальные переменные

09.03.2012, 18:03. Просмотров 2083. Ответов 5
Метки нет (Все метки)

Пробовал объявить глобальные переменные следующим образом:

в заголовочном файле head.h
C++
1
2
3
4
#ifndef DF_H
#define DF_H
//объявления переменнын
#endif // DF_H
В файлах functions.cpp и main.cpp я написал строчку #include "head.h". Компилятор мне выдал ошибку, что переменные объявлены 2 раза. Разве такое объявление переменных как у меня не дожно позволять переменным объявиться несколько раз. Компилятор gcc.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.03.2012, 18:03
Ответы с готовыми решениями:

Глобальные и статические глобальные переменные
Скажите, чем отличаются глобальные переменные от статических глобальных переменных?

Глобальные переменные
Как в C++ завести глобальную (общую для функции и самой программы) переменную?

глобальные переменные
здравствуйте, я только начал изучать C++, в книге Штидта Г. есть такой код, он выводит: count +...

Глобальные переменные
Здравствуйте, только начал изучать глобальные переменные/разбитие на функции и решил по...

5
277 / 150 / 25
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
09.03.2012, 18:14 2
functions.cpp и main.cpp компилируются в отдельные файлы. Константа-сторож не поможет, т.к. действует в одном исходном файле. В итоге переменные законно объявляются там и там.
1
Эксперт C
24523 / 15150 / 3203
Регистрация: 24.12.2010
Сообщений: 32,489
09.03.2012, 18:16 3
fom4ik, Эта конструкция блокирует только повторное подключение хедера в одном исходнике. Следовательно, head.h подключается и в main.cpp и function.cpp
Мои советы.
1. Поймите, что препроцессор осуществляет только текстовую обработку каждого исходного файла, совершенно независимо от других.
2, Найдите в одном из недавних моих постов (не глубже недели) предложения по решению этого конфликта.
1
go
Эксперт С++
3639 / 1371 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
09.03.2012, 19:15 4
fom4ik, объявляйте переменные в functions.cpp, например. А в main.cpp объявите их используя ключевое слово extern
1
49 / 7 / 1
Регистрация: 07.11.2010
Сообщений: 52
09.03.2012, 19:19  [ТС] 5
Байт, сейчас поищу.

go, я так и сделал
0
Эксперт C
24523 / 15150 / 3203
Регистрация: 24.12.2010
Сообщений: 32,489
09.03.2012, 19:38 6
fom4ik, Вот нашел сам.
Ошибка повторения имен переменных при использовании глобальной переменной
Причем это был ответ на твой же топик
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.03.2012, 19:38

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Глобальные переменные
Я правильно понимаю: "в c++ использовать глобальные переменные не безопасно, т. к. др. программы...

Глобальные переменные
Здравствуйте . Разбираю пример с книги на использование глобальных переменных . Там был такой...

Глобальные переменные
Объясните пожалуйста как правильно заводить глобальную переменную: static int k; или int k; в...

Глобальные переменные
Доброго времени суток всем. У меня следующая проблема: объявляю глобально переменную типа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.