23/08/09 20:54
puffin
non riesco ad eseguire questo semplice programma includendo nel main l'heder file, mentre se includo il .cpp funziona, help me
funzione main
file node.h
file .cpp che contiene le definizioni della classe template
output del compilatore
funzione main
#include <cstdlib> #include <iostream> #include "nodo.h" using namespace std; int main(int argc, char *argv[]) { Nodo <int> p; p.stampa(5); system("PAUSE"); return EXIT_SUCCESS; }
file node.h
#ifndef _nodo #define _nodo template <class T> class Nodo { public: Nodo(); void stampa(T); private: Nodo* netx; Nodo* previous; T data; }; #endif
file .cpp che contiene le definizioni della classe template
#include <iostream> #include "nodo.h" using namespace std; template <class T> Nodo <T>::Nodo(){ } template <class T> void Nodo <T>::stampa(T p){ cout<<"hello world "<<p<<"\n"; }
output del compilatore
[Linker error] undefined reference to `Nodo<int>::Nodo()' [Linker error] undefined reference to `Nodo<int>::stampa(int)' ld returned 1 exit status C:\Users\xxx\Desktop\c++\lista funzionantge\Makefile.win [Build Error] [Progetto1.exe] Error 1
Ultima modifica effettuata da puffin 23/08/09 20:56
aaa