我有一個頭文件和5個不同的C++文件,我需要將此頭文件包含在所有的C++文件中。與包括我並沒有宣佈任何cpp文件「x.cpp」任何人都知道我是如何解決這個問題?(我有6頭和5 CPP在總讓我沒有C/P的所有代碼。)找到一個或多個乘法定義的符號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_)開頭的名稱和包含兩個連續下劃線的名稱保留給實施。不要使用它們。 –