Chinaunix

标题: C++ build error [打印本页]

作者: yshihyu    时间: 2013-07-25 00:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: bruceteen    时间: 2013-07-25 08:41
将两处 throw EmptyErr(); 改为 throw typename Stack<Type>::EmptyErr();
并将
template <class Type> class ListStack : public Stack<Type> {

        template <class Type> class Node {
                friend class ListStack<Type>;
                Type* data;               
                Node* next;               
        public:
                Node(Type* d, Node* n) : data(d), next(n) { }
        };
中的Type换个名字,就在MinGW4.8.1和VC9.0中编译通过了(没运行)
作者: yshihyu    时间: 2013-07-25 23:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: bruceteen    时间: 2013-07-26 08:18
typename Stack<Type>::EmptyErr() 中的 typename 是告诉编译器 EmptyErr 是个类型,而非函数名。

第二个问题很显然呀 template <class Type> class ListStack : public Stack<Type> 已经有一个名为Type的模板参数了呀





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2