qq_37303077
2018-12-05 11:12
采纳率: 0%
浏览 1.4k

C++继承一个模板类,模板类中嵌套一个类模板,在派生类中使用这个类模板,编译就出错了,求指点

class LIST
{
public:
template
struct NODE//就是这个类模板出错
{
V element;
NODE next;
NODE *prv;
NODE(const V & k):element(k){}
};
private:
NODE *start;
NODE *end;
int num;
LIST(const LIST &l) {}
LIST & operator=(const LIST &l) {}
protected:
NODE
& ptr_end() { return end; }
public:
LIST();
NODE* find(const T &ele);
bool insert(T &ele);
bool insert(T &ele,const NODEpos);
bool isempty()const;
void empty_LIST();
T get_element(const NODE
pos = end);
int size()const;
NODE* front()const { return start; }
NODE* tail()const { return end; }
~LIST();
};
////////////////////////////////////////////////////////////
//派生类
template
class STACK :public LIST
{
public:
STACK() :LIST() {}
~STACK() {}
bool isempty() { LIST::isempty(); }
T top();
bool push(const T &ele);
bool pop(T &ele);
int size()const;
};
template
T STACK::top()
{
LIST::NODE *P = LIST::tail();//在VS2017中提示这个NODE的
//错误 C7510 “NODE”: 模板 从属名称的使用必须以“模板”为前缀

return p->element;
}
///////////////////////完全不知道为什么

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • devmiao 2018-12-05 14:25
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题