| www.delorie.com/archives/browse.cgi | search |
| From: | "Rafal Maj (Raf256)" <raf256 AT go2 DOT pl> |
| Newsgroups: | comp.os.msdos.djgpp |
| Subject: | Templates |
| Date: | Mon, 9 Jul 2001 01:52:42 +0200 |
| Organization: | Academic Computer Center CYFRONET AGH |
| Lines: | 35 |
| Message-ID: | <9iarst$mm5$1@info.cyf-kr.edu.pl> |
| NNTP-Posting-Host: | d-94-53-14.cyfronet.krakow.pl |
| X-Trace: | info.cyf-kr.edu.pl 994636509 23237 149.156.1.174 (8 Jul 2001 23:55:09 GMT) |
| X-Complaints-To: | news AT cyf-kr DOT edu DOT pl |
| NNTP-Posting-Date: | Sun, 8 Jul 2001 23:55:09 +0000 (UTC) |
| X-Priority: | 3 |
| X-MSMail-Priority: | Normal |
| X-Newsreader: | Microsoft Outlook Express 5.00.2615.200 |
| X-MimeOLE: | Produced By Microsoft MimeOLE V5.00.2615.200 |
| To: | djgpp AT delorie DOT com |
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
| Reply-To: | djgpp AT delorie DOT com |
Hi,
I have class cTest, its definition is in one file and declaration in another
---test.h---
class cTest { public : void fun(); };
---test.cc---
void cTest::fun() { }
And this is ok, I can use it :
---main.cc---
#include "test.h"
int main() { cTest t; t.fun(); return 0; }
But after changing class to template I cant link program :
---test.h---
template <class typ> class cTest { public : void fun(); };
---test.cc---
template <clas typ> void cTest<typ>::fun() { }
And this is ok, I can use it :
---main.cc---
#include "test.h"
int main() { cTest<int> t; t.fun(); return 0; }
This generates error at link-time, that linker can't find body of void
cTest<int>::fun()...
How to solve this problem ? I must use .cc + .h (not single .cc) because I
want to use this template class in many parts of project...
Thanks in advice :)
--
Raf256
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |