template class Stack{ -6ren">
gpt4 book ai didi

c++ - 在 C++ 中从类模板定义函数

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

当我尝试创建一个模板 Stack 类 时,我遇到了一个错误类 Stack' used without template parameters">

template <class T>
class Stack{ /// Declare A NEW Class NAMED STACK

private :
T* data;
int pointer;
int size1;

public :
T pop();
T top();
bool push(T);
bool isfull();
bool isempty();
Stack(int size1)
{
this->size1 = size1;
pointer = 0;
data = new int [size1];
}
~Stack()
{
delete [] data;
}

};

真正的问题是我想在模板类之外定义函数!!(为了提高可读性)但它不起作用!!

这是我对其中一个函数的定义:

template <class T>
bool Stack<T>::isfull()
{
if(pointer==size1+1)
return true;

return false;
}

如果这个函数的定义进入类代码块,它工作正常但是......?!

这是我在 main 中的称呼: 堆栈运算符(大小);

最佳答案

你有没有错过一个 <T>来自您的一个函数定义? IE。有这个:

template <class T>
bool Stack::isempty()

而不是这个:

template <class T>
bool Stack<T>::isempty()
^^^

关于c++ - 在 C++ 中从类模板定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16349772/

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