用模板类中的C 继承错误
Inheriting in c++ with template classes error
我是新手C 。我收到错误的"符号'列表"无法解决"我正在尝试日食,我无法弄清楚问题是什么...
list.h这是父亲班的声明,这是一个通用类,将继承
#ifndef LIST_H_
#define LIST_H_
template <class E> class List {
protected:
int size;
public:
virtual ~List();
virtual void add(E o) = 0;
virtual E get(int index) = 0;
int getSize();
};
template <class E> List<E>::~List() {
}
template <class E> int List<E>::getSize() {
return size;
}
#endif /* LIST_H_ */
vector.h vector标头文件,该文件从列表继承,它将实现列表的纯虚拟方法我会收到错误,当我从列表继承时,在向量的类声明中,"符号'列表"无法解决"
#include "List.h"
template <class E> class Vector: public List<E>{
private:
class Node {
public:
E value;
Node* next;
Node(E value): value(value), next(0) {}
};
typedef Node* PNode;
PNode first;
public:
Vector();
virtual ~Vector();
void add(E o);
E get(int index);
virtual void add(E o);
virtual E get(int index);
};
在Google yelds上快速搜索符号'列表'无法解决不是汇编错误,而是(愚蠢的)Eclipse试图重建交叉引用为你。尝试菜单命令索引 ->重建。
virtual
指示符不是超载分辨率的一部分。您不能使用它们来区分函数签名,因此错误:"不能超载"。
例如:
void add(E o);
和
virtual void add(E o);
都具有相同的签名Vector::*(int)
。他们不是两个不同的过载。
无论您想做什么,我建议退后一步,尝试首先获得基本概念。这将使您感到痛苦。
相关文章:
- 多级继承错误 C2280:"atttempting to reference a deleted function"
- 谷神星求解器成本函数继承错误:模板可能不是虚拟的
- C 预期的类名称{token,一个继承错误
- C++ 继承:错误:候选人需要 1 个参数,提供 0
- 继承错误:'{'标记之前的预期类名
- C++类多重继承错误
- 用模板类中的C 继承错误
- 在堆栈上分配对象时发生C++继承错误
- C++嵌套继承错误"expected class-name before ‘{’ token"
- 继承:错误:聚合类型A的类型不完整,无法定义
- 多重继承错误'invalid use of incomplete type'
- 继承错误 - 无法实例化抽象类 无法访问在类中声明的受保护成员
- C++ 继承错误:不明确的错误
- 类继承错误:私有成员
- 继承错误
- C++构造函数继承错误
- c++中的继承:错误C2011
- 多级继承错误"cout does not name a type"
- c++中模板继承错误
- c++类继承错误