Originariamente inviato da shodan
Leggi appena più sotto, dove c'è il paragrafo: La keyword typename
Per prima cosa grazie per avermi risposto

Per cio' che ne concerne la keyword typename, beh mi si sono chiarite molte cose.
In qualsiasi caso non capisco una cosa, la scrivo cosi magari qualcuno puo' spiegarmela :

Riscrivendo la classe con l'accorgimento appena citato:
Codice PHP:
template typename TInfo >
class 
TList
   
{
   public:
       
// ....  //
   
private:
      class 
TCell
         
{
         public:
              
// ....  //
            
TCellGetNextCell();
         private:
            
// ....  //
         
};
     
// ....  //

   
}; 
e il relativo metodo:
Codice PHP:
template typename TInfo >
TList<TInfo>::TCell*  TList TInfo >::TCell::GetNextCell()
   {
      return 
NextCell;
   } 
Continua a darmi lo stesso problema O.o'

Funziona invece se il metodo lo scrivo cosi:
Codice PHP:
template typename TInfo >
typename TList<TInfo>::TCell*  TList TInfo >::TCell::GetNextCell()
   {
      return 
NextCell;
   } 
Ma... perche'?? O.o' Una volta detto che TInfo e' un identificatore di tipo abbiamo:
  1. TList<TInfo> = Template;
  2. TCell* = Puntatore alla Classe TCell

Non vedo il perche' il compilatore capista altro O.o''

Qualcuno mi illumina pls?