kel*_*yne 0 c++ stack stl class
我正在开发一个需要列表(单独)堆栈的项目.我创建了一个名为"stacklist"的类,就是堆栈列表.我希望类有一个指向列表头部的堆栈指针.但是,每当我尝试构建类时,我都会收到错误.
#ifndef STACKLIST_H
#define STACKLIST_H
#include <stack>
//source: Data Structures Using C++: Linked List Implementation Part II (List Class)
//url: http://www.youtube.com/watch?feature=endscreen&NR=1&v=7vZo17iv1zQ
class stacklist
{
public:
stacklist();
void addToHead(const int&);
void printList();
void insert(const int&);
private:
stack<int>* head; //THIS IS WHERE I AM HAVING THE PROBLEM
int size;
};
#endif // STACKLIST_H
Run Code Online (Sandbox Code Playgroud)
错误消息是"error:expected';' 在'<'标记之前
任何可以提供的见解都将受到高度赞赏.
标准库stack位于std命名空间中,因此您需要适当地限定名称:
std::stack<int>* head;
Run Code Online (Sandbox Code Playgroud)
你应该考虑使用一个std::list<std::stack<int>>而不是你的班级.
模板的正确名称是std::stack.
如果你想要的只是一个堆栈列表,你总是可以使用std::list<std::stack<int>>(或者std::forward_list如果你只需要向前遍历).但即使你追求自己的设计,也没有理由不能让堆栈成为直接的类成员.