Methode in includierter Datei ausführen



  • Hi,

    ich habe ein kleines Problem, an dem ich jetzt schon einen Tag hänge und nicht weiter komme 😞 es ist ein opengl-programm. in der callback.h sind diverse callback-funktionen.

    folgendes sei gegeben in main.c:

    #include "includes/map.h"  // definition der klasse Wall
    #include "includes/misc.h"  // definition der klasse drawings (tut hier nix zur sache)
    Wall mainwall;
    drawings font;
    #include "includes/callback.h"  // diverse funktionen, keine klassen !!
    ...
    mainwall.setwall (1,1,2); // funzt so, wie es soll
    

    verschiebe ich nun die zeile "mainwall.setwall (1,1,2);" an den beginn von includes/callback.h, so bekomme ich die meldung:
    error: syntax error before `.' token

    ich weiss es ist unschön, aber warum geht das nicht?

    und was auch ein problem macht: kopiere ich den inhalt der methode setwall dort hin in die callback.h, wo ich den inhalt haben möchte, wird dieser nicht ausgeführt, (kompilierung ohne fehler) obwohl das programm dort hin springt, da ich das mittels einem cout weiss 😞

    thx 4 help im virraus.
    mfg - calavera



  • Weil er die globale Variable (übrigens nicht sehr schön) "mainwall" in der Header-Datei nicht kennt.

    Dort müsstest du afaik folgende Zeile am Beginn einfügen:

    extern Wall mainwall;
    

    Aber das was du machst ist überhaupt schlecht, leg keine globalen Variablen an!

    MfG SideWinder


Anmelden zum Antworten