Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    813

    [C] multiple definition of

    ciao a tutti,
    ho un file header fatto in questo modo
    codice:
    #ifndef __VARIABILE_H__
    #define __VARIABILE_H__
    
    #include <stdbool.h>
    
    int nVariabili=0;
    char listaVariabili[53];
    
    //aggiungo una variabile alla tabella di conversione
    int aggiungiVariabile(char);
    
    //creo un array di valori da dare alle variabili
    bool* creaArrayValori(int,bool);
    
    #endif
    il problema è che il linker mi restituisce il seguente errore:
    ksat.o.bss+0x0): multiple definition of `nVariabili'

    il punto è che non capisco bene l'errore: se tolgo l'inizializzazione a zero, ovvero metto solo "int nVariabili;" tutto va, ma aggiungo "=0" mi da l'errore...
    ma perché? si mettono gli header guard per questo motivo, no?
    Cos'ha che non gli va a genio l'inizializzazione?
    Nell'anno 1968 è bastata la potenza di due Commodore 64 per lanciare con successo una navicella sulla Luna; nell'anno 2007 ci vogliono la potenza di un processore quad core 3.30 GHz e 3 Gb di RAM (requisiti minimi ufficiali) per utilizzare Windows Vista. Qualcosa deve essere andato storto!

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

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.