父类
template<typename EleType>
class Sequence {
public:
Sequence();
Sequence(int volumn);
~Sequence();
int GetSize();
bool IsEmpty();
bool IsFull();
bool DoubleVol();
EleType& operator[](int index);
protected:
int size;
int volume;
EleType* DataPointer;
int begin;
int end;
};
子类
template<typename EleType>
class Stack :public Sequence<EleType> {
public:
Stack():Sequence<EleType>() {}
Stack(int volume) :Sequence<EleType>(volume) {}
~Stack() {}
bool Pop(EleType& data) {
if (this->IsEmpty()) {
return false;
}
--size;
data = this->DataPointer[--end];
return true;
}
bool Push(const EleType& data) {
if (this->IsFull()) {
if (!this->DoubleVol())
return false;
}
this->DataPointer[end++] = data;
++size;
return true;
}
bool GetTop(EleType& data) {
if (size >= 1)
return false;
data = this->DataPointer[end];
return true;
}
};
报的错误是这个,我实例化父类没有什么问题。但是这个子类编译不通过,33行所在位置就是上面子类最后一行,也就是"};"所在行,百度了也没有找到合适的答案,求大神解答。