www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/10/18/22:34:31

Message-ID: <007301c15846$1208b4c0$0101a8c0@hernan>
From: "R. Grela" <rgrela AT ciudad DOT com DOT ar>
To: <djgpp AT delorie DOT com>
Subject: Compiling problem
Date: Thu, 18 Oct 2001 23:30:50 -0300
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.00.2014.211
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2014.211
Reply-To: djgpp AT delorie DOT com

I'm trying to compile a template class, I don't know what I am doing wrong:
I 've this: (it's the simplest test)

--- test.h ---
#ifndef _TEST_H
#define _TEST_H

template <class T>
class test
{
   public:
      test();

   private:
      T t;
};

#endif
--- end of test.h ---

--- test.cpp ---
#include "test.h"

template <class T>
test<T>::test()
{
}
--- end of test.cpp ---

--- main.cpp ---
#include "test.h"

void main()
{
   test t;

}
--- end of main.cpp ---

--- makefile ---
main: test
 gxx main.cpp test.o

test:
 gxx -c test.cpp
--- end of makefile ---


---
gxx -c test.cpp
gxx main.cpp test.o
main.cpp: In function `int main(...)':
main.cpp:5: `test' undeclared (first use this function)
main.cpp:5: (Each undeclared identifier is reported only once
main.cpp:5: for each function it appears in.)
main.cpp:5: parse error before `;'
make.exe: *** [main] Error 1
---

If I don't use the template the program compiles and links ok. But with
template I receive that message.
Does anyone know how to compile ? is there a special switch for compiling ?

Thanks in advance!



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019