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

    [C]dichiarazioni di strutture e funzioni

    Ciao, se io dichiaro una struttura:
    codice:
    struct nome{
    /*campi della struttura*/
    /*puntatore a struttura per fare la lista*/
    }
    typedef struct nome nome;
    e poi una funzione con lo stesso nome:
    codice:
    void nome(int, int, int);
    perchè il compilatore mi da errore:
    sorgente.c:67:'nome' redeclared as a different kind of symbol;
    sorgente.c:40revious declaretion of nome;

    (67 è la riga dove c'è la funzione e 40 dove c'è la typedef)

    qual è il problema?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    117
    il problema è che hai dato lo stesso nome a una struttura, un tipo e una funzione...

    devi scegliere tre nomi differenti.

    fai:

    codice:
    struct nome {
    }
    typedef struct nome nome2;
    
    nome3(int, int, int);
    andrà tutto bene!

  3. #3
    cmq sono sicuro che si possa fare

    struct nome{
    }

    typedef struct nome nome;

    l'ho sempre fatto! se mai è la funzione che devo cambiare... che palle!
    vabbè...
    grazie! ciauz

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    117
    hai ragione, ho controllato, si può fare:

    struct nome{
    }
    typedef struct nome nome;

    ma la funzione deve avere un altro nome...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.