Неидентифицируемая ошибка в parallel_for

Я пытаюсь научиться использовать цикл parallel_for для простых задач. Я пытаюсь использовать следующий код:

Concurrency::parallel_for(int(0), 50, [&](int i)
{
try
{
printf("%d,", i);
}
catch (exception e)
{
printf("error\n");
}
});

Теперь, если я поставлю его в основном, он работает нормально, и выводит то, что я ожидаю, соответственно. Однако, если я помещаю его в .lib, с которым я ссылаюсь, он компилируется, но я получаю следующую ошибку:

«Необработанное исключение в 0x00007FFA8541A020 (ntdll.dll) в main.exe: код инструментария RangeChecks обнаружил доступ к массиву вне диапазона.»

Итак, мои вопросы:

1) Почему это работает в основном методе напрямую, а не в моем .lib? Я чувствую, что это не скомпилировалось бы, если бы мне не хватало заголовков — как я могу это исправить?

2) Никакое количество Google не привело меня к решению о том, что именно означает эта ошибка и как я могу ее устранить. Еще более запутанным является тот факт, что все пятьдесят действительных чисел печатаются до отказа. Кто-нибудь сталкивался с этой проблемой?

Спасибо за понимание — я буду продолжать искать себя!

1

Решение

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

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

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

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