Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C] Errore nella struct?

    In un file def.h ho questo codice:

    codice:
    #define MAX_LEN 50
    typedef struct SCHEDA *agenda;
    
    struct SCHEDA {
      char cognome[MAX_LEN];
      char nome[MAX_LEN];
      char indirizzo[MAX_LEN];
      char telefono[MAX_LEN];
    };
    SCHEDA leggi_scheda(void);
    Se compilo il file (con Dev-C++) mi dà solamente l'errore "No rule to make target 'def.o'. Stop." che dovrebbe essere giusto.

    Creo, successivamente, un file di nome main.c con le due include:
    codice:
    #include <stdio.h>
    #include "defns.h"
    e il main che non fa nulla.

    Compilo, ottengo (" In file included from main.c" cioè def.h):
    - syntax error before "leggi_scheda"
    - [Warning] data definition has no type or storage class

    L'errore è nella struct, penso..ma cosa può essere?

  2. #2
    Non hai usato un typedef quindi non potresti riferirti direttamente alla struct per nome. Prova a correggere con
    codice:
    struct SCHEDA leggi_scheda(void);
    GreyFox (Linux registered user #435102)
    greyfox.imente.org - GreyFox's shots (photo gallery)
    $ cd /pub
    $ more beer

  3. #3
    Mmmmmmm ho capito!
    Siccome devo tenere le dichiarazioni delle funzioni nel modo in cui le ha date il professore ho ma ho cambiato struct SCHEDA in struct contatto, aggiungendo poi "typedef struct contatto SCHEDA;" ... mi sembra la cosa più sensata, a questo punto!


    Grazie mille per l'aiuto, non ci sarei mai arrivato da solo


  4. #4
    volendo puoi fare tutto in una sola dichiarazione:

    typedef struct {
    ...
    } SCHEDA;


    prego
    GreyFox (Linux registered user #435102)
    greyfox.imente.org - GreyFox's shots (photo gallery)
    $ cd /pub
    $ more beer

  5. #5
    Ahh!!!!!!!
    Grazie ancora

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.