Нарушение прав доступа c ++ с переменной int

У меня действительно странная ошибка. Я получил атрибут объекта типа int с именем currentState

вот декларация

class WorkerAgent : public BaseAgent {

private:
int currentState;

Приведенный ниже код много раз запускается внутри игрового цикла, но ИНОГДА (в случайное время) код записывает программу в строке (270)

* OBS: currentState инициализируется уже при запуске этой строки кода (270)!

if (currentState == REPAIRING) {

if (!unit->isRepairing()) {

setState(GATHER_MINERALS);
BaseAgent* base = AgentManager::getInstance()->getClosestBase(unit->getTilePosition());

if (base != NULL) {

unit->rightClick(base->getUnit());
return;
}
} else {

return;
}
}

int cur = currentState; // (line 270)
bool b = cur == FIND_BUILDSPOT;

У меня есть EXCEPTION_ACCESS_VIOLATION и программа зависает .. Я не знаю, что может произойти, так как currentState не указатель ни cur

ошибка

VERSION: 1.16.1.1
BWAPI:
REVISION: 4160
BUILD: RELEASE
ERROR: None
LOCATION: Single Player
MAP: Stepping Stones
(3)Stepping Stones.scm

EXCEPTION: 0xC0000005    EXCEPTION_ACCESS_VIOLATION
FAULT:     0x10044217    BWAPI.dll
REGISTERS:
EDI: 00000140
ESI: 00000003
EBX: 00000000
EDX: C208C483
ECX: 5B46A60C
EAX: 035F0001
EBP: 0018EEE8
EIP: 10044217
ESP: 0018E4C4
STACK:
BWAPI.dll         0x10044217      ----
BWAPI.dll         0x10046C38      ----
BWAPI.dll         0x10047A43      ----
BWAPI.dll         0x100408C6      ----
DUMB.DLL          0x5B4254A0    WorkerAgent::computeActions
d:\programming\mestrado\bots\dumb\bthaimodule\source\workeragent.cpp:270

Любую другую информацию о деле, пожалуйста, спросите меня! Я схожу с ума от этой проблемы!

0

Решение

currentState является членом вашего класса WorkerAgentЭто означает, что у вас должен быть действительный объект типа WorkerAgent за currentState существовать.

Вы, вероятно, используете недопустимый (нулевой, неинициализированный, удаленный или иным образом мусор) указатель на WorkerAgent в коде вы не показали нам.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector