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 `.' tokenich 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