li584528142 2016-09-24 13:40 采纳率: 33.3%
浏览 1912
已采纳

编程时,遇见no appropriate default constructor available

class stack
{
public:
stack(int s);//创建栈的实例
~stack(); //该实例消亡
void clear(); // 变为空栈
bool push(const T item);// item入栈,成功则返回真,否则返回假
bool pop(T &item); //返回栈顶内容并弹出,成功返回真,否则返回假
double tops(T &item); //返回栈顶内容但不弹出
bool isEmpty(); // 若栈已空返回真
bool isFull(); // 若栈已满返回真
};
template
class arrstack : public stack
{
private: // 栈的顺序存储
int msize; // 栈中最多可存放的元素个数

int top; // 栈顶位置,应小于mSize

T *st; // 存放栈元素的数组
public: // 栈的运算的顺序实现

arrstack(int size) // 创建一个给定长度的顺序栈实例

{
msize = size; top = -1; st = new T[msize];
}

arrstack():stack(){top = -1;} // 创建一个顺序栈的实例 //错误'stack' : no appropriate default constructor available
~arrstack() {delete []st; } // 析构函数

void clear() {top = -1;} // 清空栈内容

};

  • 写回答

1条回答 默认 最新

  • threenewbee 2016-09-24 14:15
    关注

    arrstack():stack()
    这里你调用了stack(),无参数构造函数,在stack类中,你的构造函数是stack(s),要么你调用它,要么你再定义一个无参数的构造函数。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料