Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
fom4ik
49 / 7 / 1
Регистрация: 07.11.2010
Сообщений: 52
#1

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

09.03.2012, 18:03. Просмотров 1626. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2012, 18:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос глобальные переменные (C++):

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

Глобальные переменные - C++
Я хочу использовать глобальную переменную, определённую в main, в своих классах. Листинг)) globals.h #ifndef GLOBASL_H #define...

Глобальные переменные - C++
Здравствуйте! Возникла видимо классическая проблема, но перечитав кучу сайтов так ее и не решил. Пишу в VS2005, имеются 2 срр файла...

Глобальные переменные - C++
Я правильно понимаю: "в c++ использовать глобальные переменные не безопасно, т. к. др. программы могут случайно поменять значение этих...

Глобальные переменные - C++
Здравствуйте . Разбираю пример с книги на использование глобальных переменных . Там был такой пример: #include "stdafx.h" #include...

Глобальные переменные - C++
Подскажите пожалуйста, почему данные в глобальной переменной перезаписываются, а не плюсуются? Пример: int peremennaya; void...

5
Xind
275 / 148 / 7
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
09.03.2012, 18:14 #2
functions.cpp и main.cpp компилируются в отдельные файлы. Константа-сторож не поможет, т.к. действует в одном исходном файле. В итоге переменные законно объявляются там и там.
1
Байт
Эксперт C
16151 / 10429 / 1557
Регистрация: 24.12.2010
Сообщений: 19,767
09.03.2012, 18:16 #3
fom4ik, Эта конструкция блокирует только повторное подключение хедера в одном исходнике. Следовательно, head.h подключается и в main.cpp и function.cpp
Мои советы.
1. Поймите, что препроцессор осуществляет только текстовую обработку каждого исходного файла, совершенно независимо от других.
2, Найдите в одном из недавних моих постов (не глубже недели) предложения по решению этого конфликта.
1
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
09.03.2012, 19:15 #4
fom4ik, объявляйте переменные в functions.cpp, например. А в main.cpp объявите их используя ключевое слово extern
1
fom4ik
49 / 7 / 1
Регистрация: 07.11.2010
Сообщений: 52
09.03.2012, 19:19  [ТС] #5
Байт, сейчас поищу.

go, я так и сделал
0
Байт
Эксперт C
16151 / 10429 / 1557
Регистрация: 24.12.2010
Сообщений: 19,767
09.03.2012, 19:38 #6
fom4ik, Вот нашел сам.
Ошибка повторения имен переменных при использовании глобальной переменной
Причем это был ответ на твой же топик
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2012, 19:38
Привет! Вот еще темы с ответами:

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

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

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

Убрать глобальные переменные - C++
Помогите пожалуйста убрать глобальные переменные, прога работает на 100% #include <cstring> #include <string> #include <fstream> ...


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
09.03.2012, 19:38
Ответ Создать тему
Опции темы

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