Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    655

    [C++]typedef su classe template

    ciao a tutti, ho scritto questa dichiarazione in C++:

    codice:
    typedef Cella<T> tipoelem;
    soltanto che il compilatore continua a darmi questo errore:

    codice:
    ISO C++ forbids declaration of `Cella' with no type
    Sapreste dirmi dove sbaglio??

  2. #2
    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.

  3. #3
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Un typedef di quel tipo ha senso soltanto in una classe.
    codice:
    template <typename T>
    class Cella {
    };
    
    template <typename T>
    class CellaStorage {
        typedef Cella<T> tipoelem;
    };
    Negli altri casi devi esplicitare il tipo.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.