трафик — исключение после setCompleteRedYellowGreenDef в клиенте сумо Переполнение стека

Я пытался создать на примере клиентского сервера sumo в C ++, как в ссылке
http://sumo.dlr.de/wiki/TraCI/C%2B%2BTraCIAPI

Я написал функцию для создания полного RedYellowGreenDef, как показано ниже:

std::vector<libsumo::TraCILogic> Client::buildCompletetrafficLogics(std::string tlID, int phaseIndex, int increaseVal)
{

std::vector<libsumo::TraCILogic> logics = trafficlights.getCompleteRedYellowGreenDefinition(tlID);
for (int i = 0; i < (int)logics.size(); ++i)
{
for (int j = 0; j < (int)logics[i].phases.size(); ++j)
{
if (logics[i].currentPhaseIndex = phaseIndex)
{
logics[i].phases[j].duration = logics[i].phases[j].duration + increaseVal; //increase duration by 5 seconds
logics[i].phases[j].duration2 = logics[i].phases[j].duration2+ increaseVal;
}
}
}

return logics;

}

Я вызвал эту функцию в основной функции следующим образом:

//increase duration of phase with index "PhaseIndex" by 5000ms
std::vector<libsumo::TraCILogic> logics = client.buildCompletetrafficLogics(*tlIt, phaseIndex,5000);
libsumo::TraCILogic logic = logics[0];
client.trafficlights.setCompleteRedYellowGreenDefinition(tlID, logic);

где tlID является действительным идентификатором светофора, но я столкнулся со следующим исключением, когда я передал встроенную логику в setCompleteRedYellowGreenDefinition ():

прекращение вызова после создания экземпляра ‘std :: invalid_argument’
what (): Storage :: writeUnsignedByte (): недопустимое значение, не в [0, 255] Прервано (ядро сброшено)

Не могли бы вы помочь мне найти проблему: почему я получил это исключение и как его решить?

0

Решение

Задача ещё не решена.

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

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

По вопросам рекламы [email protected]