我之前发布过这个问题:Compiler Can't Find My Header?
我修复了包含locker.h的问题,但现在我似乎遇到了我的其他标题SelfStorageList.h的问题。我是积极的所有文件都在同一个文件夹中(在Visual Studio 2012的Projects - > myfile文件夹中),我检查了它们的路径。
以下是给出我的问题的代码:
#include "Locker.h"
#include "SelfStorageList.h"
void rentLocker(Locker e) {
if (isEmpty()) { //Issue here
}
}
据说isEmpty()调用未定义。它在SelfStorageList.h中定义:
#pragma once
#include <string>
#include <cstdlib>
#include "Locker.h"
using namespace std;
class LockerNode{
public:
Locker objLocker;
LockerNode *next;
LockerNode(){
next=0;
};
LockerNode(Locker e, LockerNode *ptr=0){
objLocker=e;
next=ptr;
}
};
class SelfStorageList
{
private:
LockerNode *head, *tail;
public:
SelfStorageList(){
head=tail=0;
}
LockerNode* getHead(){
return head;
}
LockerNode* getTail(){
return tail;
}
void rentLocker(Locker e);
void dispLockers(bool vipOnly=0);
bool isEmpty(){
return head==0;
}
};
我已经包含了其余的功能,因为试验测试似乎表明它不知道头尾指针。任何人都知道我为什么遇到包括标题在内的困难?我重申它们肯定都在同一个正确的文件夹中。
这是一个进一步的屏幕截图,如果它有帮助:
答案 0 :(得分:4)
由于这些是实例方法,您必须通过以下方式实现它:
void SelfStorageList::rentLocker(Locker e) {
if (isEmpty()) {
}
}
此外,我强烈建议您处理代码缩进,这样可以让您更容易阅读并让人们回答您的问题。