Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219

    [C]Problema con GCC 4.6.1

    Sotto ubuntu 11.10 , con GCC 4.6.1 se scrivo un codice del genere:
    codice:
    int main(int argc, char **argv)
    {
        int a;
        a=0;
        return 0;
    }
    Mi ritorna questo waning:
    /home/ramy/Documents/C/Prova/main.c|79|warning: variable ‘a’ set but not used [-Wunused-but-set-variable]|
    Se invece scrivo così:
    codice:
    int main(int argc, char **argv)
    {
        int a=a;
        return 0;
    }
    Non da alcun errore.In pratica non riconosce l' assegnamento di a, e mi ritorna warning inutili anche con le altre variabili.
    Come risolvere questo problema?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    E' un problema?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Si perchè a volte succede veramente che non utilizzo delle variabile e con le precedenti versioni di GCC questo warning era utile.Così eliminavo le variabili non utilizzate.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma non penso tu scriva

    int a=a;

    nei tuoi programmi.

    Quindi, se scrivi (come capita)

    int i;

    e poi non la usi, cosa ti dice il compilatore?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Originariamente inviato da oregon
    Ma non penso tu scriva

    int a=a;

    nei tuoi programmi.

    Quindi, se scrivi (come capita)

    int i;

    e poi non la usi, cosa ti dice il compilatore?
    Mi da quell' errore.
    Ma il problema è che l' errore lo da anche quando la variabile la uso.

  6. #6
    Originariamente inviato da ramy89
    Mi da quell' errore.
    Ma il problema è che l' errore lo da anche quando la variabile la uso.
    Non la usi mica, ci stai scrivendo uno zero senza poi usarla in alcun modo.
    Amaro C++, il gusto pieno dell'undefined behavior.

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.