У меня есть файл заголовка и 5 разных файлов C++, и мне нужен этот заголовок, включенный во все мои файлы C++. Я не объявлял CPP файлов включают в себя «x.cpp» Каждый знает, как я могу это исправить? (У меня есть 6 заголовков и 5 СРР в целом, так что я не с/р всего кода.)Найдено один или несколько символов с несколькими значениями C++
#ifdef _DEBUG
#ifndef _UTIL_H_
#define _UTIL_H_
int LOOPCOUNTER=0;
int loopi;
#define LOOP LOOPCOUNTER++;
#define MARKLOOPS (loopi=LOOPCOUNTER);
#define PRINTLOOPS cout<<LOOPCOUNTER-loopi;
#define PRINTALLLOOPS cout<<LOOPCOUNTER<<endl;
#endif
#endif
и это сообщение об ошибке:
1>linkedlistc.obj : error LNK2005: "int loopi" ([email protected]@3HA) already defined in arraylistc.obj
1>linkedlistc.obj : error LNK2005: "int LOOPCOUNTER" ([email protected]@3HA) already defined in arraylistc.obj
1>main.obj : error LNK2005: "int loopi" ([email protected]@3HA) already defined in arraylistc.obj
1>main.obj : error LNK2005: "int LOOPCOUNTER" ([email protected]@3HA) already defined in arraylistc.obj
1>C:\Users\Eko\Documents\Visual Studio 2010\Projects\mt1\Debug\mt1.exe : fatal error LNK1169: one or more multiply defined symbols found
1>
Включая точные сообщения об ошибках и деклараций оскорбительных было бы полезно. –
Вы, по-видимому, определили один или несколько символов в заголовке, поэтому включение этого заголовка более одного раза приводит к нескольким определениям. Включение охранников не поможет - они предотвращают включение заголовка более одного раза в один и тот же исходный файл, но не будут излечивать проблемы с связыванием, как у вас здесь. –
Имена, начинающиеся с символа подчеркивания, за которым следует большая буква (_UTIL_H_), и имена, содержащие два последовательных символа подчеркивания, зарезервированы для реализации. Не используйте их. –