我正在尝试通过自己的通用/模板 ArrayList 来实现,但遇到了障碍。我知道错误来自参数列表中没有某个地方,但对我来说,我无法在这里弄清楚,如果我这样做,我会得到一个不同的错误。为简洁起见,我删除了无法调试的函数,直到第一次调试这个函数。
//ArrayList.h//
#include <iostream>
#include <string>
using namespace std;
template <class T>
class ArrayList {
private:
class Node {
private:
Node* next;
Node* prev;
T* element;
public:
Node();
Node( T* );
Node( Node* /*new prev*/, T* );
~Node();
void setNext( Node* );
Node* getNext();
};
int size;
int maxSize;
int current_index;
Node* myArrayList;
Node* curr;
Node* head;
Node* tail;
public:
};
“Node* getNext();”的实现 在我的 cpp 文件中。
//ArrayList.cpp//
#include "arraylist.h"
...
template <class T>
ArrayList::Node* ArrayList::Node::getNext() {
return this->next;
}
尝试在 :: 后面插入效果不佳...如果我将 Node* 放在它之前,它就会变得未定义。
template <class T>
ArrayList<T>::Node* ArrayList::Node::getNext() {
return this->next;
}
然后我得到“;” 预计在“*”之前。