|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 | |
|
Member
Iscritto dal: Aug 2005
Città: MB
Messaggi: 126
|
[C++] Problemi con template e funzioni
Ciao a tutti,
sto facendo alcune prove con C++ e sono arrivato alle classi template. Ho fatto una classe templata di questo tipo: Codice:
template<typename T>
class Classe{
struct Dato{
int K;
T data;
Dato* next;
}
public:
Dato *data;
}
Cioè vorrei poter fare: Quote:
Ho provato a creare una funzione che scorre la lista Dato originale e la copia, ma funziona solo quando il tipo è lo stesso (mettendo come membro della funzione Dato* d), ma se provo a forzare il tipo dato diverso scrivendo Codice:
template<typename T1>
void foo(Classe<T1>::Dato* d){
//Leggi la struct originale e copia chiave e valore convertito.
}
Quale sarebbe la procedura corretta? Ultima modifica di alessandrom : 02-02-2012 alle 22:54. |
|
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Aug 2005
Città: MB
Messaggi: 126
|
Credo di avere risolto da solo:
la struct va definita fuori, altrimenti il compilatore pensa che siano dati completamente diversi e non differenti per un solo dato facilmente convertibile. Così funziona: Codice:
template <typename F>
struct Dato{
int K;
F data;
Dato<F>* next;
};
template<typename T>
class Classe{
public:
Dato<T> *data;
};
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:51.



















