Арифметическое исключение с rand () и модом

Дважды теперь мой сервер падал после нескольких дней работы на этой линии.

int randomValue = rand() % m_list.size();

где m_list

std::list<int> m_list;

Авария

Program terminated with signal 8, Arithmetic exception.

получение размера списка должно быть гарантировано не отрицательным. Что может вызвать этот сбой? Может ли быть что-то с RAND быть причиной? Я запускаю ранд в начале моего сервера с

srand(time(NULL));

Любые советы приветствуются!

0

Решение

У меня не так много информации о ситуации, но есть ли в списке что-нибудь? Если нет, вы бы делили на ноль, и это все объясняло.

Итак, первый шаг — убедиться, что m_list не равен нулю.

Если это так, возможно, вы могли бы проверить, чтобы убедиться, что размер списка не равен нулю, прежде чем выполнять операцию.

3

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


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