C++中类问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 07:31:08
template<class T>
class Stack
{
private:
T *stack;
int top;
int MaxTop;
public:
Stack<T>::Stack(int Max);
Stack<T>& Stack<T>::Push(const T& x);
Stack<T>& Stack<T>::Top()
{
if(top==-1)
throw OutOfBounds();
return stack[top];
}
Stack<T>& Stack<T>::Split(Stack<T> n,Stack<T> m);
Stack<T>& Stack<T>::Combine(Stack<T> n,Stack<T> m);
void print(Stack<T>& a);
};
我这样定义它说rror C2063: 'Push' : not a function什么意思啊
那我问题出在哪里了

看了半天,我还以为你写的是栈适配器...

template<class T>
class Stack
{
private:
T *stack;
int top;
int MaxTop;
public:
Stack<T>::Stack(int Max);
Stack<T>& Push(const T& x);
Stack<T>& Top()
{
if(top==-1)
throw OutOfBounds();
return stack[top];
}
Stack<T>& Split(Stack<T> n,Stack<T> m);
Stack<T>& Combine(Stack<T> n,Stack<T> m);
void print(Stack<T>& a);
};

英文的意思是push不是一个函数