[C] Risolvere mutue dipendenze tra include files

di Anonimizzato18204 il
9 risposte
Salve a tutti, sto riscontrando dei problemi con l'errore citato nel titolo.
L'errore inizialmente non c'era, poi improvvisamente è cominciato a presentarsi in molte funzioni in cui vengono ripresi i tipi presenti in altri moduli.
A volte scompaiono da una determinato tipo per andare su altri.
Il problema fa sembrare che non legga i moduli anche se io li includo.
Scusate se sono stato poco chiaro, ma dall'immagine penso che la situazione vi chiarirà lei idee.
https://drive.google.com/open?id=0BzfPQ1tpwWlaNmI4RkU0U0ZZNG8

9 Risposte

  • Cosa c'è dentro esame.h ?
  • In esame.h c'è questo: https://drive.google.com/open?id=0BzfPQ1tpwWlaVVZBUTFTckNQRjg

    In questo modo ha sempre funzionato non capisco perchè adesso da problemi,
    In questo momento da problema con esame ma prima con libretto però il problema è scomparso...
  • Potrebbe essere un problema del compilatore che usi con il CodeBlocks.

    Personalmente uso Visual C++ e non ho di questi problemi.
  • Ho provato anche a compilarlo su ubuntu ma il problema persiste, non se a questo punto è un problema di compilatore.
  • RAGIONA:
    'esame.h' INCLUDE 'libretto.h'
    'libretto.h' INCLUDE 'esame.h'

    Questo NON HA MINIMAMENTE SENSO!!!!


    QUINDI se per caso PRIMA funzionava, FUNZIONAVA PER SBAGLIO!!
  • La struct devi metterla nel .h
  • Per l'information hiding l'ho messa nel file.c, invece nel file.h c'è il puntatore alla struttura.
    Questo l'ho sempre fatto e ha sempre funzionato, quindi non penso che sia questo il problema
  • @rairana, il tuo errore e' proprio questo: non pensi.
    Hai delle inclusioni RICORSIVE, e questo ha tutta una serie di conseguenze, una delle quali e': CHE COSA STA' COMBINANDO il compilatore?
Devi accedere o registrarti per scrivere nel forum
9 risposte