Установлен VS2010 + SP1 для сборки доморощенного OpenCV 3.4. Произошла ошибка в основном модуле asyn c. cpp (112):
111 #if CV__EXCEPTION_PTR
112 if(has_exception && exception)
113 {...}
117 #endif
has_exception is bool, исключение - std :: exception_ptr. Ошибка: C2677.
Выполнен простой тест на основе примера в (http://www.cplusplus.com/reference/exception/exception_ptr/):
#include "stdafx.h"
#include <exception>
int _tmain (int argc, _TCHAR* argv[]) {
std::exception_ptr p;
bool b1, b2;
b1 = (bool)p;
b2 = static_cast<bool>(p);
return 0;
}
Не удалось отладить оба приведения с помощью C2440. На основе документов (https://en.cppreference.com/w/cpp/error/exception_ptr) исключение_ptr должно быть «контекстно-конвертируемым» и явно конвертируемым. Я думаю, это как-то связано с моим окружением, но я не знаю, как это исправить.