我正在尝试编写一个单例类来保存用户输入的状态(鼠标/键盘数据)。SDL API 将键盘数据作为 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;
};