Globale variable nicht gefunden



  • Warum meldet der Compiler " undefined identifier: test"
    Füge ich die Funtion test_it direkt in mein Hautprogramm ein meldet er den
    Fehler nicht.

    //Hauptprogramm
    #include <pic18fxx2.h>
    #include "test_it.h"
    unsigned int test;
    main()
    {
    while (1)
    {
    test_it();
    }
    }

    //Headerdatei
    void test_it(void);

    //Implementationsdatei
    void test_it(void)
    {
    test = 10;
    return;
    }

    Gruß
    Johann



  • die implementierungsdatei kann die globale nicht kennen, die in der main deklariert ist.



  • Nimm keine globalen Variablen, dein Programm läuft genausogut ohne. 🙂

    Ansonsten: Such nach dem Schlüsselwort extern und nach Include-Guards.



  • cd9000 schrieb:

    Nimm keine globalen Variablen, dein Programm läuft genausogut ohne. 🙂

    Setze die globale Variable GANZ an den Anfang, so ist sie
    auch den folgenden Zeilen darunter bekannt.

    //Globale Variablen zuerst
    unsigned int test; 
    
    //Dann die includes
    #include <pic18fxx2.h> 
    #include "test_it.h" 
    
    //Dann das Hauptprogramm 
    main() 
    ...
    


  • 🙄

    so, und nun nochmal den anfangsthread lesen und nochmal nachdenken, DDuelec 😉



  • elise schrieb:

    so, und nun nochmal den anfangsthread lesen und nochmal nachdenken, DDuelec 😉

    Vor allem die Worte "Hauptprogramm", "Implementierungsdatei" und "Headerdatei"... 😃


Anmelden zum Antworten