|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Mar 2005
Messaggi: 168
|
[C++] template ed errori
ciao a tutti
sto sistemando un programma composto da più classi, più file e più template. ho appena diviso un file unico file.cpp contenente una definizione di classe, un template che la estende, main(). L'ho diviso in un file.hpp con la dichiarazione della classe e del template; un file.cpp con le funzioni; un file main.cpp col main. Prima funzionava, adesso invece mi dice: g++ -o main main.o Simulation.o main_noview.o(.text+0x623): In function `main': : undefined reference to `Sim<NomeClasse>::Sim[in-charge](int, long*, RNG&, RNG&, char*)' collect2: ld returned 1 exit status make: *** [mainnw] Error 1 NB: Simulation è il nome della classe, Sim<T> quello del template. NB: i singoli file vengono compilati, è il linkaggio che fallisce. La mia domanda è: cosa significa "undefined referenceto..."? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2003
Città: fra casa e lavoro
Messaggi: 1061
|
purtroppo tutto il codice relativo al template, corpo delle funzioni incluso, deve essere scritto all'interno del .h
se vuoi comunque separare il .h e il .cpp devi usare un "trucco", ovvero nel .cpp NON metti l'include, invece nel .h AL FONDO DEL FILE metti #include "file.cpp" però fa un po' schifo |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Mar 2005
Messaggi: 168
|
ci provo, poi ti faccio sapere.
grazie |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:55.



















