C++编程:表达式必须是可修改的左值
报错:
①表达式必须是可修改的左值 "weaponType":不能给常量赋值
②表达式必须是可修改的左值 “=”:左操作数必须为左值
如图一:
如图二:
图一:
#include "aimbot.h"
#include "../core/globals.h"
#include "../core/interfaces.h"
void hacks::RunAimbot(CUserCmd* cmd) noexcept
{
// check if we are trying to shoot
if (!(cmd->buttons & CUserCmd::IN_ATTACK))
return;
if (globals::localPlayer->IsDefusing())
return;
CEntity* activeWeapon = globals::localPlayer->GetActiveWeapon();
if (!activeWeapon)
return;
const int weaponType = activeWeapon->GetWeaponType();
switch (weaponType)
{
case CEntity::WEAPONTYPE_MACHINEGUN:
case CEntity::WEAPONTYPE_RIFLE:
case CEntity::WEAPONTYPE_SHOTGUN:
case CEntity::WEAPONTYPE_SNIPER:
case CEntity::WEAPONTYPE_PISTOL:
{
if (!activeWeapon->GetClip())
return;
if (weaponType = CEntity::WEAPONTYPE_SNIPER)
{
if (!globals::localPlayer->IsScoped())
return;
}
break;
}
default:
return;
}
图二:
CVector bestAngle{ };
float bestFov{ 5.f };
for (int i = 1; i <= interfaces::globals->maxClients; ++i)
{
CEntity* player = interfaces::entityList->GetEntityFromIndex(i);
if (!player)
continue;
if (player->IsDormant() || !player->IsAlive())
continue;
if (player->GetTeam() = globals::localPlayer->GetTeam())
continue;
if (player->HasGunGameImmunity())
continue;
// player's bone matrix
CMatrix3x4 bones[128];
if (!player->SetupBones(bones, 125, 256, interfaces::globals->currentTime))
continue;
// our eye position
CVector localEyePostition;
globals::localPlayer->GetEyePosition(localEyePostition);
// our aim punch
CVector aimPunch{ };
switch (weaponType)
{
case CEntity::WEAPONTYPE_RIFLE:
case CEntity::WEAPONTYPE_SUBMACHINEGUN:
case CEntity::WEAPONTYPE_MACHINEGUN:
globals::localPlayer->GetAimPunch(aimPunch);
}