내 코드는 현재 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
안녕하세요. 난 당신이 전체 코드를 제공해야합니다, 오류가 노출되는 최소한의 예제가 바람직합니다. –
필자는 사지에 나가서 클래스 Box를 별도의 파일로 선언했으며 StackofBoxes.cpp에서 Box.h "를 포함하지 않았습니다."라고 추측합니다. 그렇다면 클래스 Box의 선언을 .h 파일에 넣고 cpp 파일에 넣으십시오. –