Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Архив некоторых форумов
>
Архив вопросов по программированию
>
C/C++
>
ANSI С/С++
> Тема:
Глобальные переменные
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Глобальные переменные (Прочитано 15726 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Vorlon
Гость
Глобальные переменные
«
:
29-11-2003 09:33 »
Есть такая тупая проблема:
VC6.0, необходимо объявить глобальную переменную для всего проекта.
Если я объявляю в "Header" - файле и подключаю его к нескольким "Source" - файлам, выдается такая ошибка:
Linking...
ProjectName.obj : error LNK2005: "Такая-то переменная" already defined in "Такой-то файл проекта".obj
Если объявляю только в файле с указанием "Defines the entry point for the application.", такая ерунда:
Compiling...
"Такой-то файл проекта"
"Такой-то файл проекта"(..) : error C2065: 'Такая-то переменная' : undeclared identifier
Может подскажите, что не так делаю.
Записан
Sommer
Молодой специалист
Offline
Глобальные переменные
«
Ответ #1 :
29-11-2003 09:46 »
Vorlon
,
а пробовал удалять все из debug?
Записан
когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины.
но тогда меня уже не будет
в этом городе
forever yours.
baldr
Команда клуба
Offline
Пол:
Дорогие россияне
Глобальные переменные
«
Ответ #2 :
29-11-2003 09:58 »
Объяви ее в файле stdafx.h и проверь, что он подключен ко всем файлам проекта.
Если уж будет опять возникать, то просто в каждом модуле укажи
extern описаниепеременной;
В принципе, файл stdafx.h специально для таких целей - определения глобальных объектов - и предназначен...
Записан
Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Migmile
Помогающий
Offline
Глобальные переменные
«
Ответ #3 :
29-11-2003 10:09 »
Я прозволю себе напомнить, что глобальные переменные лучше всего описывать в header-ом файле как
extern int GlobVar;
и только в одном файле проекта описать как
int GlobVar;
Затем header-ный файл включается во все файлы *.cpp где требуется доступ к этой переменной.
PS Инициализация этой переменное должна иметь место только в том файле, где она НЕ описана как extern
Записан
RXL
Технический
Администратор
Offline
Пол:
Глобальные переменные
«
Ответ #4 :
29-11-2003 10:50 »
Кстати, граждане, повторяемся - не далее чем недели две-три назад был такой же вопрос:
https://forum.shelek.ru/index.php/topic,1524.0.html
Иногда надо и поиском пользоваться.
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Vorlon
Гость
Глобальные переменные
«
Ответ #5 :
29-11-2003 11:01 »
Прошу извинить за повтор, в следующий раз буду искать.
extern в header-файле и обычная инициализация в одном из файлов проекта помогла, все работает!
Благодарю за столь быстрые ответы.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Архив некоторых форумов
>
Архив вопросов по программированию
>
C/C++
>
ANSI С/С++
> Тема:
Глобальные переменные
Загружается...