我的代碼,目前來了與它在StackOfBoxes.cpp的40行發現編譯錯誤。該錯誤是一個未定義的引用錯誤:爲什麼我會得到一個未定義的引用錯誤
StackOfBoxes.cpp:40: undefined reference to
Box::Box();
我不知道怎麼做才能做調試。任何幫助將不勝感激。
bool StackOfBoxes::isEmpty() const
{
if (m_size == 0)
{
return false;
}
else
{
return true;
}
}
int StackOfBoxes::size() const
{
return m_size;
}
void StackOfBoxes::push(int value)
{
Box* box = m_top;
m_top = new Box();
m_top->m_value = value;
m_top->m_previous = box;
// increase m_size by 1;
m_size += 1;
}
int StackOfBoxes::pop()
{
// Create a Box pointer (Box* temp) and store the value of m_previous using m_top
Box* temp = m_top->m_previous;
// Similarly store the m_value using m_top into the Integer variable
int x = m_top->m_value;
// Delete top of the stack
delete m_top;
// make the current Box pointer your new m_top
m_top = temp;
return x;
}
哪一行是40行?爲什麼你的代碼從一個大括號開始?請修改您的標題,它在一個詞的中間被切斷。 – Barmar
歡迎來到SO!我認爲你需要提供完整的代碼,最好是一個暴露錯誤的最小例子。 –
我打算出去走一走,猜測你在一個單獨的文件中聲明瞭Box類,並且沒有在StackofBoxes.cpp中包含「#include」Box.h「'。如果是這種情況:將Box類的聲明放在.h文件中,並將其包含在你的cpp文件中。 –