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 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条