Доступ к переменным в Visual Cpp :*(((
От: bazh  
Дата: 18.09.01 17:32
Оценка:
подскажите пожалуйста....

у меня есть data.h

и есть несколько cpp(например 1.cpp,2.cpp,3.cpp) файлов, в которых я хочу использовать переменные из data.h, так, чтобы они были общими для всех cpp...
но когда я в каждом из cpp пишу :: #include "data.h" у меня идет ругачка типа:
PCInfoSmall.obj : error LNK2005: "int pc_num" (?pc_num@@3HA) already defined in controlDlg.obj
Re: Доступ к переменным в Visual Cpp :*(((
От: Андрей Тарасевич Беларусь  
Дата: 18.09.01 17:39
Оценка:
Здравствуйте bazh, вы писали:

B>подскажите пожалуйста....


B>у меня есть data.h


B>и есть несколько cpp(например 1.cpp,2.cpp,3.cpp) файлов, в которых я хочу использовать переменные из data.h, так, чтобы они были общими для всех cpp...

B>но когда я в каждом из cpp пишу :: #include "data.h" у меня идет ругачка типа:
B>PCInfoSmall.obj : error LNK2005: "int pc_num" (?pc_num@@3HA) already defined in controlDlg.obj

Твоя ошибка состоит в том, что ты поместил _определения_ этих переменных в заголовочный файл. В 'data.h' ты должен поместить только _объявления_ этих переменных. Объявления переменных делаются с ключевым словом 'extern':

data.h
extern int a;
extern double b;
extern bool c;


В один (и только в один!) из .cpp файлов ты должен поместить _определения_ этих перемнных. Например, в 1.cpp.

1.cpp
int a = 0;
double b = 1.0;
bool c = false;


Все. Теперь ты можешь пользоваться этими переменными везде, предварительно включая 'data.h'.

Best regards,
Андрей Тарасевич,
Brainbench C and C++ Programming MVP
Best regards,
Андрей Тарасевич
Re[2]: Доступ к переменным в Visual Cpp :*(((
От: bazh  
Дата: 18.09.01 20:01
Оценка:
Спасибо огромное!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.