"error: expected class-name before '{' token"尝试继承
"error: expected class-name before '{' token" trying to inheritance
我尝试创建一个从列表继承的队列,并得到这个错误:
"error: expected class-name before '{' token"
这些是我的代码…
cola_lista.cpp
#ifndef cola_hereda_lista
#define cola_hereda_lista
#include <iostream>
#include "lista_t.hpp"
//#include "nodo_t.hpp"
using namespace std;
template <class T>
class cola : public lista{
private:
nodo<T> *frente, *final;
public:
cola();
bool es_vacia();
int longitud(); //
void encolar(T e);
void desencolar(); //precondicion ¬es_vacia
T obtener_frente(); //precondicion ¬es_vacia
~cola();
};
#endif
lista.hpp
#ifndef lista_template
#define lista_template
#include <iostream>
#include "nodo_t.hpp"
using namespace std;
template <class T>
class lista{
private:
nodo<T> *primero, *ultimo;
int cantidad;
public:
//
};
nodo.hpp
#include <iostream>
#ifndef nodo_template
#define nodo_template
using namespace std;
template <class T>
class nodo{
private:
T elemento;
nodo<T> *siguiente;
public:
nodo();
T get_elem();
void set_elem(T e);
nodo<T>* get_siguiente();
void set_siguiente(nodo<T> *sigui);
~nodo();
};
我花了几个小时试图弄清楚代码中什么是病态的。的帮助!
把你的代码改成
template <class T>
class cola : public lista<T>{
您需要调整您的cola
声明:
template <class T>
class cola : public lista<T>
^^^
cola
是一个类模板,您需要指定类型。此外,你不应该把using namespace std;
在你的头文件,我会劝阻你使用它在一般情况下,这之前的线程为什么是"使用命名空间std;"被认为是一个坏的做法在c++ ?
相关文章:
- 继承函数的重载解析
- 继承期间显示未知行为的子类
- 头文件-继承c++
- 为什么在保护模式下继承升级不起作用
- 通过继承类使用来自不同命名空间的运算符
- 子目录是否继承属性,例如add_definitions,include_directories和父Cmakelist.t
- 混合组合和继承的C++问题
- 继承:构造函数,初始化C++11中基类的类C数组成员
- 从类继承时,继承的类是否会通过父类重新定义继承的变量
- 公共与私人继承
- 如何创建从同一类继承的不同对象的向量
- 如何从另一个文件继承私有成员变量和公共函数
- 在模板基类中为继承类中的可选重写生成虚拟方法
- 带有继承的C++工厂
- 我应该避免多重实现继承吗
- C++继承更改成员
- C 预期的类名称{token,一个继承错误
- C++嵌套继承错误"expected class-name before ‘{’ token"
- "error: expected class-name before '{' token"尝试继承
- C++:继承模板类时"error: expected class-name before ‘{’ token"