【发布时间】:2010-12-02 11:17:27
【问题描述】:
我在自定义堆栈模板类中嵌套了迭代器。 我现在遇到的问题是,当我在 main 中为我的堆栈创建迭代器时,我的嵌套迭代器的构造函数不匹配。我想知道可能是什么问题。
template <class T>
class stack
{
private:
int top;
T st[100];
public:
class my_iterator
{
public:
my_iterator() : list(0), curr(0) {};
private:
stack<T> list;
int curr;
};
//publics in stack class
public:
stack();
void push(T i);
T pop();
void print();
bool is_full();
my_iterator begin() {};
};
然后我在 main 中使用以下行为堆栈创建迭代器
stack<double>::my_iterator it;
【问题讨论】:
-
我现在已经找到问题了,但是找不到
-
为什么你的迭代器要创建自己的栈???还有一点:为什么你的堆栈是一个固定大小的数组?
-
@Sebastian,我不想麻烦链表,我只是想尝试一下,因此我使用了一个数组。而且它不应该创建自己的堆栈。我在那里犯了错误,因此也出现了编译错误。