Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [C] Warning assurdi

  1. #1
    Utente di HTML.it L'avatar di Poker1
    Registrato dal
    Jul 2002
    Messaggi
    479

    [C] Warning assurdi

    Ciao a tutti,
    compilando il codice con:

    gcc -Wall -pedantic main.c

    mi da dei warning di questo tipo:

    warning: ISO C89 forbids mixed declarations and code

    ma questi errori me li da in cose tipo:

    int i;

    oppure su dichiarazione di variabili di tipo struttura..qualcuno sa come toglierli?

    grazie
    Non riscrivere la ruota, usa le librerie.
    by Bjarne Stroustrup
    EIDON SOFT MEMBER

  2. #2
    Sarebbe opportuno che postassi la sezione di codice che ti da gli errori .

  3. #3
    Utente di HTML.it L'avatar di Poker1
    Registrato dal
    Jul 2002
    Messaggi
    479
    codice:
    hashTable_t * createHash( int sizeH )
    {
       if( sizeH <= 0 )
          return NULL;
    
       hashTable_t *ht;
    
    ....
    ...
    un errore del genere lo da proprio sulla dichiarazione di quel puntatore, la struttura e' questa:

    codice:
    typedef int typevalue_t;
    
    /* tipo elemento della hash table */
    typedef struct hashE{
        char * key;           /* chiave NULL se elemento vuoto*/
        typevalue_t value;    /* valore associato a key */
        struct hashE * next;
    } hashElement_t;
    
    
    /* tipo della tabella hash  (un array di puntatori a hashElement_t) */
    typedef struct {
        int size;    /* ampiezza tabella */
        hashElement_t ** table;
    } hashTable_t;
    Non riscrivere la ruota, usa le librerie.
    by Bjarne Stroustrup
    EIDON SOFT MEMBER

  4. #4
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    probabilmetne devi spostare tute le dichiarazioni di variabili all'inizio di un blocco di codice

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    11
    Se non vuoi modificare la posizione delle dichiarazioni, che in C89/C90 devono essere poste all'inizio del blocco e non possono essere intervallate da statement, aggiungi -std=c99 alle opzioni del compilatore.

  6. #6
    Utente di HTML.it L'avatar di Poker1
    Registrato dal
    Jul 2002
    Messaggi
    479
    ah..non lo sapevo, le sposto all'inizio allora!
    Non riscrivere la ruota, usa le librerie.
    by Bjarne Stroustrup
    EIDON SOFT MEMBER

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.