所以我目前正在将队列实现为单链表。一切都很好,但是编译器在我的 dequeue 方法中标记了我。
这就是 Visual Studio 对我的咆哮:
错误 C2065:“已删除”:未声明的标识符
这是我的 dequeue 方法,它应该返回刚刚从队列中删除的值:
template <typename Type>
Type QueueLinked<Type>::deque() {
if (queueFront == 0) {
cout << "Queue is empty! There's nothing to remove!" << endl;
} else {
nodeType<Type> *temp;
temp = queueFront;
queueFront = queueFront->next;
Type Removed = temp->dataItem;
delete temp;
if (queueFront == 0) {
queueRear = 0;
}
}
return Removed;
}
这是我的节点结构:
template <typename Type>
struct nodeType {
Type dataItem;
nodeType<Type> *next;
};
这似乎是一个非常简单的错误,但我没有看到是什么原因造成的。希望我不会太愚蠢,但这不会是第一次。