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

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

Войти
Регистрация
Восстановить пароль
 
Inov
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 2
#1

int glob уже определен в main.obj - C++

13.01.2014, 16:08. Просмотров 371. Ответов 3
Метки нет (Все метки)

Почему #ifndef не помогает?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1.h:
#ifndef ONE_H
#define ONE_H
 
int glob;
 
#endif
 
 
1.cpp:
#include "../include/1.h"
 
 
main.cpp:
#include "include\1.h"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2014, 16:08     int glob уже определен в main.obj
Посмотрите здесь:

C++ int main() или int main(void)?
C++ main.obj : error LNK2019: unresolved external symbol
int main() VS void main() C++
В чем разница между int main(){} и int main(void){}? C++
C++ От void main() к int main()
C++ Переменная уже определена в Form_5.obj
C++ [Linker Error] Unresolved external 'Sort(int, int)' referenced from H:\INFORMATIC\5\UNIT1.OBJ
Компиляция выдает ошибку "error LNK2005: _main уже определен в int.obj" C++
Какой новые синтаксис: int main() VS. void main() C++
Какая разница между int main и void main? C++
C++ Void main or Int main
C++ Почему в одних случаях пишут void main(), а в других случаях int main() {return 1;}

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5415 / 4811 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.01.2014, 16:26     int glob уже определен в main.obj #2
Цитата Сообщение от Inov Посмотреть сообщение
Почему #ifndef не помогает?
Потому, что он работает в пределах одного файла.
Inov
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 2
13.01.2014, 16:29  [ТС]     int glob уже определен в main.obj #3
У меня только один файл. Больше нет
alsav22
5415 / 4811 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.01.2014, 16:35     int glob уже определен в main.obj #4
Цитата Сообщение от Inov Посмотреть сообщение
У меня только один файл.
Считаем: 1.cpp - раз, main.cpp - два. Итого: два файла, где подключен данный .h (с определением переменной).

Добавлено через 1 минуту
#ifndef - это для препроцессора, который видит, в каждый момент, только один файл. Ошибку множественного определения выдаёт компоновщик, который видит все файлы.
Yandex
Объявления
13.01.2014, 16:35     int glob уже определен в main.obj
Ответ Создать тему
Опции темы

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