qq_37174526
Liu Zhian
采纳率60%
2017-05-24 12:35 阅读 951

关于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条回答 默认 最新

  • tutuxs Xefvan 2017-05-25 03:42

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

    看报错啊

    点赞 评论 复制链接分享
  • qq_37174526 Liu Zhian 2017-05-25 10:41

    不知道问题在哪 啊

    点赞 评论 复制链接分享
  • weiwang1996 McRae 2017-05-26 01:58

    函数返回值没给出来,下面定义的时候

    点赞 评论 复制链接分享

相关推荐