У меня относительно серьезная проблема с boost :: random.
Справочная информация: я использую TDM-GCC x64 на Windows 7 x64. Опции компилятора: -g -Wall -fexceptions
Я создаю Boost, используя ту же среду компилятора, но это не должно иметь значения при использовании random, поскольку он только для заголовка (?)
Итак, теперь моя проблема:
Я получил эту функцию:
#define PRNG_GENERATOR boost::mt19937
COORD function_g(int depth)
{
double _range;
_range = 1/(depth + 1.0f);
boost::uniform_real<double> range(-_range, _range);
boost::variate_generator<PRNG_GENERATOR&, boost::uniform_real<double> > v_png(*this->m_prng, range);
return v_png();
}
Когда я вызываю эту функцию, моя программа падает с ошибкой c0000026 в модуле ntdll.dll.
Сбой всегда отображается с помощью gdb в первой строке () -оператора механизма ускорения случайных чисел (в данном случае он находится в файле mersenne_twiseter.hpp в строке 319, где указано «if (i == n)» - на самом деле не то, что я ожидал бы вызвать аварию).
И еще более странно то, что этот сбой только что появился - я не зафиксировал никаких изменений кода, просто (чистая) перекомпиляция и каждая сборка после первого показа сбоя просто вылетает ....!?
Сейчас я провожу около часа в поисках в Интернете этой загадочной ошибки c0000026, но не нашел ничего ценного ....
Кто-то получил совет, как решить эту проблему?