出现声明与error-type 不兼容


#include
using namespace std;
class SeqStack
{
private:
    DataType data[MaxStackSize];
    int top;
public:
    SeqStack();
    ~SeqStack();
    void Push(const DataType item);
    DataType Pop();
    DataType GetTop()const;
    bool NotEmpty()const;
};

SeqStack::SeqStack() { top = 0; };
SeqStack::~SeqStack() {}

//入栈
void SeqStack::Push(const DataType item)
{
    if (top == MaxStackSize)
    {
        cout << "堆栈已满" << endl;
        exit(0);
    }
    else
    {
        data[top] = item;
        top++;
    }
}

//出栈
DataType SeqStack::Pop()
{
    if (top == 0)
    {
        cout << "堆栈已空" << endl;
        exit(0);
    }
    else
    {
        top--;
        return data[top];
    }
}

//取栈顶元素
DataType SeqStack::GetTop()const
{
    if (top == 0)
    {
        cout << "堆栈空" << endl;
        exit(0);
    }
    return data[top - 1];
}

//判断是否非空
bool SeqStack::NotEmpty()const
{
    if (top != 0)
    {
        return true;
    }
    else
    {
        return false;
    }
}

为什么会出现声明与函数不兼容

错误信息贴出来看看,到底是什么