gpt4 book ai didi

c++ - 试图访问对象的成员数据 - 即使在启动后仍未定义,出了什么问题?

转载 作者:行者123 更新时间:2023-11-28 03:31:20 25 4
gpt4 key购买 nike

if(GetKeyState(VK_SPACE) && Player1.canFire == true)
{
Player1.canFire = false;
Player1.hasFired = true;
Bullet Bullet1((Player1.Xpos + (Player1.Skin->GetWidth() / 2)),
Player1.Ypos - ProjectileSkin->GetHeight() );
}
if(Player1.hasFired = true)
{
Bullet1.Projectile->CopyTo(m_Screen, Bullet1.m_xPos, Bullet1.m_yPos);
Bullet1.m_yPos -= 5;
}

在我说 Bullet1.Projectile->CopyTo 的地方,我得到了 Bullet1 未定义的错误,但我已经在上面的 if block 中实例化了它。我做错了什么?

最佳答案

您的 Bullet1 在到达第 9 行时超出范围。您需要将 Bullet1 变量声明移到 if 语句之外.

但是,如果无论如何都需要初始化 Bullet1,我完全不明白放置第二个 if 语句的意义。所以,

if(GetKeyState(VK_SPACE) && Player1.canFire == true)
{
Player1.canFire = false;
Player1.hasFired = true;
Bullet Bullet1((Player1.Xpos + (Player1.Skin->GetWidth() / 2)),
Player1.Ypos - ProjectileSkin->GetHeight() );
Bullet1.Projectile->CopyTo(m_Screen, Bullet1.m_xPos, Bullet1.m_yPos);
Bullet1.m_yPos -= 5;
}

关于c++ - 试图访问对象的成员数据 - 即使在启动后仍未定义,出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12518236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com