Date: Mon, 12 May 1997 23:47:21 +0200 (CEST) From: matra To: Dennis Janssen cc: djgpp AT delorie DOT com Subject: Re: templates In-Reply-To: <01bc5fc6$6d16b7e0$0b88099a@dennis.worldonline.nl> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk On 13 May 1997, Dennis Janssen wrote: > Hi, > > I'm new to C++ and now I'm trying to learn how to use templates. > > I've written the following three files. > > [CSTACK.H] > #ifndef CSTACK_H > #define CSTACK_H > > template > class cStack { > public: > cStack(); > int push(stackType element); > }; > #endif CSTACK_H > > [CSTACK.CC] > #include > #include "cstack.h" > > template > cStack::cStack() > { > cout << "Constructed" << endl; > }; > > template > int cStack::push(stackType element) > { > cout << "Pushing..." << endl; > return 0; > }; template class cStack; template class cStack; [ .. all types u need to istantiate in the template .. ] > > [TESTSTCK.CC] > #include "cstack.h" > > int main () > { > cStack int_stack; > > int_stack.push(12); > > return 0; > } > > When I try to compile it using DJGPP 2.01 (based on gcc 2.7.0.1) I think I > get the following two errors: > > undefined reference to cStack::cStack(void) > undefined reference to cStack::push(int) > > How do I fix this? I've read something in info about GCC neither supporting > the Borland model nor the C/C++ frontend (or something) but I don't > understand how to fix it. > > Dennis! > >