Я разрабатываю игру. У меня есть заголовок GameSystem
(просто методы, такие как игровой цикл, без класса) с двумя переменными:int mouseX
и int mouseY
. Они обновляются в моем игровом цикле. Теперь я хочу получить к ним доступ из файла Game.cpp
(класс, созданный файлом заголовка и исходным файлом). Итак, я #include "GameSystem.h"
в Game.h
. После этого я получаю много ошибок компиляции. Когда я удаляю включение, он, конечно, говорит:
Game.cpp:33: error: ‘mouseX’ was not declared in this scope
Game.cpp:34: error: ‘mouseY’ was not declared in this scope
Где я хочу получить доступ к mouseX
и mouseY
.
Все мои файлы .h
имеют защиту заголовков, сгенерированную Eclipse.
Я использую SDL, и если я удаляю строки, которые хотят получить доступ к переменным, все компилируется и работает отлично (*).
Я надеюсь, что вы можете помочь мне...
Это журнал ошибок, когда я #include "GameSystem.h"
(весь код, на который он ссылается, работает, как показано в (*)):
In file included from ../trunk/source/domein/Game.h:14, from ../trunk/source/domein/Game.cpp:8: ../trunk/source/domein/GameSystem.h:30: error: expected constructor, destructor, or type conversion before ‘*’ token ../trunk/source/domein/GameSystem.h:46: error: variable or field ‘InitGame’ declared void ../trunk/source/domein/GameSystem.h:46: error: ‘Game’ was not declared in this scope ../trunk/source/domein/GameSystem.h:46: error: ‘g’ was not declared in this scope ../trunk/source/domein/GameSystem.h:46: error: expected primary-expression before ‘char’ ../trunk/source/domein/GameSystem.h:46: error: expected primary-expression before ‘bool’ ../trunk/source/domein/FPS.h:46: warning: ‘void FPS_SleepMilliseconds(int)’ defined but not used
Это код, который пытается получить доступ к двум переменным:
SDL_Rect pointer;
pointer.x = mouseX;
pointer.y = mouseY;
pointer.w = 3;
pointer.h = 3;
SDL_FillRect(buffer, &pointer, 0xFF0000);