Oppure

Loading
11/12/10 15:38
ragazzi una volta effettuata la compilazione l'output di compilazione di visual c++ mi da i seguenti due errori che non riesco a decifrare:

1>Collegamento in corso...
1>main.obj : error LNK2001: simbolo esterno "public: __thiscall Lista<class TabellaHash<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > >::~Lista<class TabellaHash<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > >(void)" (??1?$Lista@V?$TabellaHash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@@@QAE@XZ) non risolto
1>main.obj : error LNK2001: simbolo esterno "public: __thiscall Lista<class TabellaHash<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > >::Lista<class TabellaHash<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > >(void)" (??0?$Lista@V?$TabellaHash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@@@QAE@XZ) non risolto
1>C:\Users\Bruno\Desktop\Progetto Algoritmi2684nerobruno\Release2684nerobruno.exe : fatal error LNK1120: 2 esterni non risolti
1>Il log di compilazione è stato salvato in 'file://c:\Users\Bruno\Desktop\Progetto Algoritmi2684nerobruno2684nerobruno\Release\BuildLog.htm'
1>132684nerobruno - 3 errore/i, 0 avviso/i
========== Compilazione: 0 completate, 1 non riuscite, 0 aggiornate, 0 ignorate ==========


potete darmi una mano?
11/12/10 15:47
grazie per la velocità di risposta.

quando nelle cause specifiche cita questo:

La definizione del template del membro è esterna alla classe. Una limitazione di Visual C++ prevede che i template dei membri vengano definiti completamente all'interno della classe che li contiene. Per ulteriori informazioni sull'errore LNK2001 e sui template dei membri, vedere l'articolo della Knowledge Base Q239436 (informazioni in lingua inglese).


cosa vuol dire nel dettaglio che i template dei membri devono essere definiti interamente nello scope della classe che li contiene?
11/12/10 15:53
AlesPalla
penso che la risposta sia qui (è l'articolo citato nel link che ti ho dato)
support.microsoft.com/kb/239436/…
aaa
11/12/10 16:00
quindi se ho due 3 classi:

template<class T>
class uno{};

template<class T>
class due{};

template<class T>
class tre{};

non posso istanziare una cosa del tipo:

uno<due<tre< string>>>????
Ultima modifica effettuata da 11/12/10 16:01
11/12/10 17:29
ti ringrazio ho risolto il problema implementando tutte le funzioni che mi diceva il debugger come inline nell'interfaccia delle classi.
ora compila ;)
11/12/10 17:33
AlesPalla
di nulla.. che strano bug però!
aaa