我在以下代码中不断收到错误“宏名称必须是标识符”,我不知道为什么。据我所知,我没有违反任何命名标准。这是来自我的“dllist.h”文件:
#ifndef _DOUBLY_LINKED_LIST_
#define _DOUBLY_LINKED_LIST_
template <class T>
class IntDLLNode {
friend class IntDLList;
public:
IntDLLNode() {next = prev = NULL;}
IntDLLNode(const T& el, IntDLLNode *n = NULL, IntDLLNode *p = NULL) {
info = el;
next = n;
prev = p;
}
protected:
T info;
IntDLLNode<T> *next, *prev;
};
template <class T>
class IntDLList {
public:
IntDLList() {head = tail = NULL;}
void addToDLLTail(const T& el);
void addToDLLHead(const T& el);
T deleteFromDLLTail();
T deleteFromDLLHead();
void deleteNode(int);
void isInList(int) const;
void addSorted(int);
void printList();
private:
IntDLLNode<T> *head, *tail;
};
#endif
我也尝试过像 DOUBLY_LINKED_LIST 和 DOUBLYLINKEDLIST 这样的名称——所有这些都会导致相同的错误。