嗨,我是模板的新手。只是想知道如何正確編譯程序。模板功能參數有什麼問題
template<class t>
class node{
public:
t val;
node(t v):val(v){}
};
template<class t>
class stack{
private:
stack *next;
static stack *head;
static int top;
public:
void push(node *n);
node* pop();
};
template<class t>
int stack<t>::top=0;
template<class t>
stack<t>* stack<t>::head=NULL;
template<class t>
void stack<t>::push(node<t>* n) //Error the push function is not defined properly
{
}
int main(int argc, char *argv[])
{
node<int> n1(5);
return 0;
}
該計劃爲錯誤提前
stack<t>::push' : redefinition; different basic types
nw.cpp(14) : see declaration of 'stack<t>::push'
感謝
頭部和頂部不應該是靜態的,否則你只能有1堆棧。 – 2014-10-16 15:17:32
'node * n'和'node * n'不是一回事 –
taocp
2014-10-16 15:17:35