Liu Zhian 2017-05-24 12:35 采纳率: 60%
浏览 959

关于c++模板和类实现时的问题,求助!

我想自定义一个堆(stcak)的实现,代码如下;

#include <iostream>
using namespace std;
const int SIZE=100;
template <typename T>
class iStack
{
public:
    iStack(void);   
    void push(const T &n); 
    void pop();   
    T GetPop();   
    bool empty(); 
    int size();   
    void ClaerStack(); 
    ~iStack(void);  
private:
    T stack[SIZE];  // array to salve elements
    int top;   
};
template<typename T>
iStack<T>::iStack(void)
{
    top=-1;
}

template<typename T>
iStack<T>::push(const T &n)
{
    if (SIZE-1==top)
    {
        cout<<"sorry!spill of the stack!"<<endl;
        return;
    }
    else
    {
        stack[++top]=n;
    }
}
template<typename T>
iStack<T>::pop()
{
    if (-1==top)
    {
        cout<<"no element to delete!"<<endl;
        return;
    }
    else
    {
        top--;
    }
}

template<typename T>
iStack<T>::ClaerStack()
{
    top==-1;
}

template<typename T>
iStack<T>::empty()
{
    if (-1==top)
    {
        return true;
    }
    return false;
}

template<typename T>
iStack<T>::size()
{
    return top+1;
}

template<typename T>
iStack<T>::~iStack(void)
{

} 

编译时,报错如下:

 1>f:\c++代码\stack类模板\stack类模板\istack.cpp(38): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\c++代码\stack类模板\stack类模板\istack.cpp(51): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\c++代码\stack类模板\stack类模板\istack.cpp(57): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\c++代码\stack类模板\stack类模板\istack.cpp(67): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\c++代码\stack类模板\stack类模板\istack.cpp(73): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
  • 写回答

3条回答 默认 最新

  • Xefvan 2017-05-25 03:42
    关注

    函数前缺少类型说明符~~~

    看报错啊

    评论

报告相同问题?

悬赏问题

  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办