Chinaunix首页 | 论坛 | 博客
  • 博客访问: 712515
  • 博文数量: 98
  • 博客积分: 3257
  • 博客等级: 中校
  • 技术积分: 966
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-15 17:19
文章存档

2020年(1)

2018年(1)

2017年(1)

2016年(2)

2015年(2)

2013年(3)

2012年(24)

2011年(28)

2010年(4)

2009年(9)

2008年(23)

我的朋友

分类: C/C++

2012-02-25 10:52:05

    自定义了一个类,类的成员函数都已实现,但在测试时出现问题,结果发现是犯了一个低级错误,出现的错误是
error: request for member 'push' in 'sl', which is of non-class type 'stackList()'
源码:
template
class stackList : public stack {
    public:
        //构造函数
        stackList();
        stackList(const stackList &sl);
        //栈操作
        virtual void deleteAllValues();
        virtual int isEmpty() const;
        virtual T pop();
        virtual void push(T value);
        virtual T top() const;
    protected:
        list data;
};
template
stackList::stackList():data(){
  }
template
stackList::stackList(const stackList&v):data(v.data){
  }
template
T stackList::pop() {
    assert(!isEmpty()); //判断栈的下溢
    T result=data.firstElement();
    data.removeFirst();
    return result;
}
template
void stackList::push(T value) {
    data.add(value);
}
//其他代码略
调用测试代码:
int main(int argc, char** argv) {
    stackList sl(); //低级错误在这里,应该是stackList sl;
    sl.push(189);
    cout<
    return 0;
}
备忘!
阅读(8868) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~