Я столкнулся с классом Error Stack»без параметров шаблона»> в то время как я пытаюсь сделать шаблона: Stack классОпределение функций из шаблона класса в C++
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;
}
};
Реальная проблема заключается в что я хочу определить функции Вне класса шаблона !! (Дополнительные читаемости) Но он не работает !!
Вот мой Defenition для одной из функций:
template <class T>
bool Stack<T>::isfull()
{
if(pointer==size1+1)
return true;
return false;
}
Если определение этой функции Входит в блок кода класса, он отлично работает Но ...?!
Это как я называю это в основном: Оператор стека (размер);
Я не вижу здесь ничего, что вызвало бы эту ошибку. Покажите нам, как вы создаете объект класса в основном. – 0x499602D2
какая ошибка вы получаете? – alrikai
Просто любопытно - когда у вас есть 'data = new int [size1];' разве вы не определяете 'data' как' int * ', а не как вы определили его' T * data'? Это не должно давать никаких ошибок, но просто любопытно. – Bill