gpt4 book ai didi

c++ - 模板类错误 C++

转载 作者:行者123 更新时间:2023-11-30 02:02:41 25 4
gpt4 key购买 nike

我正在学习如何制作模板类,我遵循了这个概念,但遇到了错误。我有一个已转换为模板的类,但出现以下错误;

simplestack.h(24): error C2955: 'SimpleStack': 使用类模板需要模板参数列表

simplestack.h(9) : 见'SimpleStack'的声明

simplestack.h(28):错误 C2244:“SimpleStack::push”:无法将函数定义与现有声明相匹配

simplestack.h(12) :参见“SimpleStack::push”的声明

这是我的代码:

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 时,它都不会接受。感谢您的帮助。

最佳答案

方法push应该返回 SimpleStack<T>& , 不是 SimpleStack& .

关于c++ - 模板类错误 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12875477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com