1
我正在学习如何制作模板类,我遵循这个概念,但遇到了错误。我有一个班,我变成了一个模板,但我得到以下错误;模板类错误C++
simplestack.h(24):错误C2955: '的SimpleStack':使用类模板需要模板参数列表
simplestack.h(9):看 '的SimpleStack'
simplestack.h声明(28):错误C2244: '的SimpleStack ::推':无法定义的功能匹配到一个现有的声明
simplestack.h(12):看的声明 '的SimpleStack ::推'
这是我的代码:
const int MAX_SIZE = 100;
template <typename T>
class SimpleStack
{
public:
SimpleStack();
SimpleStack & push(T value);
T pop();
private:
T items[MAX_SIZE];
T top;
};
template <typename T>
SimpleStack<T>::SimpleStack() : top(-1)
{}
template <typename T>
SimpleStack &SimpleStack<T>::push(T value)
{
items[++top] = value;
return *this;
}
template <typename T>
T SimpleStack<T>::pop()
{
return items[top--];
}
注意:每当我尝试机会MAX_SIZE到T它不会接受它。感谢您的任何帮助。
在成员函数的定义中。在声明中,由于注入类名称并不重要。 – bames53