我試圖編譯在Xcode一些C++代碼C++代碼,我得到這個錯誤:問題時,在Xcode
Undefined symbols:
"Editorial::sm_nTotalEditorials", referenced from:
Editorial::AskTotal() in editorial.o
Editorial::~Editorial()in editorial.o
Editorial::~Editorial()in editorial.o
名單如下與析構函數兩個條目和四個條目的構造(我認爲這是我使用sm_nTotallecteds的唯一功能)。我附加了變量的定義和我使用它的功能。
class Editorial
{
private:
static int sm_nTotalEditorials;
...
}
int Editorial::AskTotal() {return sm_nTotalEditorials;}
Editorial::~Editorial()
{
if (!m_pPrev) sm_pFirstEditorial=m_pNext;
if (m_pPrev) (*m_pPrev).SetContext((*m_pPrev).AskPrev(),m_pNext);
if (m_pNext) (*m_pNext).SetContext(m_pPrev,(*m_pNext).AskNext());
sm_nTotalEditorials--;
}
然後它打印出與我使用的其他3個靜態私有變量類似的錯誤。我必須將靜態用法搞亂。這是我的第一個C++代碼,所以我對任何不好的語法表示歉意,或者如果問題太愚蠢,我試圖搜索互聯網,但Xcode打印的錯誤是相當含糊不清的,根據我見過的教程,我使用所有應用程序。此外,打印所有代碼的代碼很長,我粘貼了我認爲應該出錯的部分,但是我也不確定。
你的源代碼有什麼結局? .m或.cpp? – hol 2011-02-28 21:00:22
我不知道這是否有幫助。但我記得我試圖編譯一些C代碼,當我將.c的結尾改爲.m時,它突然編譯。也許不是你的問題只是一個想法。 – hol 2011-02-28 21:07:23