ciao a tutti, ho scritto questa dichiarazione in C++:
soltanto che il compilatore continua a darmi questo errore:codice:typedef Cella<T> tipoelem;
Sapreste dirmi dove sbaglio??codice:ISO C++ forbids declaration of `Cella' with no type
ciao a tutti, ho scritto questa dichiarazione in C++:
soltanto che il compilatore continua a darmi questo errore:codice:typedef Cella<T> tipoelem;
Sapreste dirmi dove sbaglio??codice:ISO C++ forbids declaration of `Cella' with no type
Non saprei , bisogna che ti vada a rivedere il manuale per sicurezza.
A quanto ricordo io la sintassi corretta è
typedef tipo alias.
pertanto
typedef template alias
non va bene
se invece istanzi il template
typedef template<tutti i tipi necessari> alias
allora va di nuovo bene
perchè in tal caso template<tipi necessari> diventa un tipo
per tanto penso che una cosa del tipo
typedef Cella<double> tipoelem;
possa essere corretta
typedef Cella<T> tipoelem;
può essere corretta solo se T è un tipo valido
Ma posso sbagliare non ho i manuali, e nell'incertezza non uso costrutti su cui ho dubbi.
Un typedef di quel tipo ha senso soltanto in una classe.
Negli altri casi devi esplicitare il tipo.codice:template <typename T> class Cella { }; template <typename T> class CellaStorage { typedef Cella<T> tipoelem; };