Il codice è siffatto:Originariamente inviato da oregon
Ma e' solo vedendo tutto il codice che si capisce il problema ...
Gli errori che manifesta un compilatore possono essere molto fuorvianti, specialmente quelli successivi al primo e possono non avere nulla a che fare con il vero problema.
Esamina attentamente il primo errore.
1. Inclusioni file di intestazione della biblioteca standard C++
2. Predichiarazione classe
3. Typedef per tre tipi
4. Definizione classe
(Il file è un header che definisce una classe per la gestione di testo in un parser Python)
Se elimino il punto 2, tutti gli errori che il compilatore mi segnala si riferiscono ai tipi di dato non definiti dai typedef (come se i typedef immediatamente successivi alla predichiarazione della classe fossero stati ignorati). Ad esempio:
Error 1:
error C4430: missing type specifier - int assumed.
Note: C++ does not support default int
Error 2:
error C2143: syntax error : missing ';' before '&'
Error 3
error C2530: 'RCString' : references must be initialized
...
(Gli altri errori sono identici)... RCString ad esempio è un tipo di dato definito da typedef
Saggio consiglio. Ho letto un libro, Fondamenti di Programmazione C++, Deitel & Deitel, e anche qualche cosa sul C, ma purtroppo l'ho fatto alcuni anni fa e io ho una memoria abbastanza labile: adesso avrei dovuto rileggere tutto, ma ho preferito andare in cerca di codici, anche complessi, per esaminarli da cima a fondo, aiutandomi col libro (anche se non riesco a trovare tutto).Originariamente inviato da oregon
Non andare per "suggerimenti" su questi argomenti ... leggi un buon libro e dedica un po' di tempo alle teoria ...
----------------------------------
Non vorrei sfruttare troppo la tua grande disponibilità, ma ho un'ultima curiosità: perché è necessario utilizzare semplici typedef solo per cambiare nome ad un tipo già esistente? Come il size_t definito in cstring...
typedef unsigned int size_t;
Qual'è il vantaggio?
Grazie ancora.