template<class Entry>
class A {
protected:
struct Node {
Entry entry;
Node(const Entry& entry_) { entry = entry_; };
};
Node* p;
public:
void insert(const Entry& entry) { p = new Node(entry); }
~A() { delete p; }
};
template<class Entry>
class B :public A<Entry> {
public:
void insert(const Entry& entry) { p = new Node(entry); }//编译器报错的地方
};
去掉了无关的部分,这段代码怎么样都过不了编译,如果不把Node结构体定义移到类外面,有办法解决吗?
C++如何调用模板类的基类内定义的结构体的构造函数?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-