16.11.2007, 10:05
общий
это ответ
Здравствуйте, Комаров Сергей Борисович!
Директива include просто вставляет в файл, где она появляется содержимое файла-аргумента. Получается, что у Вас 3 исходных файла cpp, во всех тех объявлены Ваши переменные. Компилятор, обрабатыавая уже второй файл, совершенно справедливо скажет, что такие переменные уже определены в первом.
Как верно заметил Vas177, глобальные переменные объявляются один раз в cpp-файле (можно, конечно и в хэдере, если он подключается только один раз, но все-равно плохой тон), а для доступа к ним из других можно использовать ключевое слово extern, которое говорит, что такая переменная должна быть объявлена где-то в другом модуле (если компоновщик нигде ее не найдет, скажет Unresolved external ...).