C ++ DirectX11 visual studio 2012.我已将我的GKController1类声明为ref类。 我是C ++编程的新手,我没有编写大部分代码,所以我真的不明白为什么它会破坏。如果您需要更多代码,请询问。感谢。
以下是破解的代码:
Background.cpp文件
int GameBackGround::PlayingGame()
{
if (this->controller1->IsPauseRequested()) //Breaks here, it doesn't even allow me to step into the method, it just breaks
{
//Game Paused
return 3;
}
}`
Background.h文件
GKController1^ controller1;
//GKController1 file
bool GKController1::IsPauseRequested()
{
if (gamepadConnected)
{
if (this->gamepadState.Gamepad.wButtons & XINPUT_GAMEPAD_BACK
&& !(this->previousGamepadState.Gamepad.wButtons & XINPUT_GAMEPAD_BACK))
{
return true;
}
else
{
return false;
}
}
else
{
return this->escKeyPressed;
}
}
答案 0 :(得分:0)
if (this->controller1->IsPauseRequested()) //Breaks here, it doesn't even allow me to step into the method, it just breaks
controller1
几乎肯定是一个糟糕的指针。当您取消引用它(->IsPaurRequested()
)时,您会收到访问冲突,因为您正在读取您不拥有的内存。
你在哪里初始化它?我看到了声明,但你需要在某处初始化它。该成员与声明类的类型相同。为什么需要它?看起来你只是传递了所有内容,为什么不使用IsPauseRequested()
(this->IsPauseRequested()
)?