Я пытаюсь написать одноэлементный класс, чтобы удерживать состояние входов от пользователя (данные мыши/клавиатуры). SDL API возвращает данные с клавиатуры в массив указателей Uint8, однако, почему я пытаюсь создать указатель Uint8, я получаю эти ошибки на линии ж/uint8:Uint8 - спецификатор отсутствующего типа
error C2143: syntax error : missing ';' before '*'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
я использовал Uint8 как тип данных не определяя его раньше, поэтому я не уверен, что вызывает здесь проблему. Вот мой код:
class InputState {
public:
InputState()
{};
~InputState()
{};
static InputState *getInputState(void)
{
static InputState *state = new InputState();
return state;
};
public:
Uint8 *keys;
struct MouseState
{
int LeftButtonDown;
int RightButtonDown;
int MiddleButtonDown;
int x;
int y;
MouseState()
{
LeftButtonDown = 0;
RightButtonDown = 0;
MiddleButtonDown = 0;
x = 0;
y = 0;
}
};
MouseState *mouseState;
};
Вы включили _whatever SDL header_, который определяет 'Uint8'? И, пожалуйста, пожалуйста, не называйте это _keyword _... –
Принадлежности, я отредактировал вопрос. Я не уверен, откуда взялось определение, SDL или иначе. Тем не менее, в качестве проверки я вернулся к старому файлу, который использует ошибку Uint8 w/o и включает в себя все те же заголовочные файлы, без везения. – Donutfiend84
Замечание: с помощью класса singleton вы должны сделать свой конструктор закрытым. Второй [убедитесь, что вы действительно хотите синглтон] (http://en.wikipedia.org/wiki/Singleton_pattern#Drawbacks) – Shahbaz