std::shared_ptr 空检查会导致编译致命错误
std::shared_ptr null check results in compilation fatal error
我想检查某个shared_ptr是否为空。
typedef std::shared_ptr<program> ProgramPtr;
ProgramPtr progPtr =output.getProgram(num);
if (!progPtr)
return false;
当我构建项目时,我收到一个错误:
" 致命错误 C1001:编译器中发生内部错误。"
仅当我在发布配置中构建而不是在调试配置中构建时,才会发生这种情况。
此外,以下空检查不会在构建中产生任何问题
int index = progPtr? progPtr->getIndex() : -1;
知道为什么会这样吗?
编译器版本 Visual Studio c++ 14.1
问题与shared_ptr无关。导致错误的行是:
return false;
问题是"return false"在线程循环中
#pragma omp parallel for num_threads(nThreads) private(locPt)
似乎不可能在线程内返回。
相关文章:
- 用MacOS Mojave编译C++:致命错误:mpi.h:没有这样的文件或目录
- 在Raspbian上编译pybind11测试用例时出现致命错误
- 代码::块C++使用 MacOS 编译 Mojave : 致命错误: sys/cdefs.h: 没有这样的文件或目录
- std::shared_ptr 空检查会导致编译致命错误
- OpenCV 4.x+ 需要启用 C++11 支持编译暗网致命错误
- OpenCV 致命错误,同时编译带有 openmp 和 opencv 库的 cpp 文件
- 为什么当我在Visual Studio中编译C++项目时会出现致命错误"LNK1104:无法打开文件'cryptlib.lib'?
- 致命错误:opencv2/core.hpp:opencv4 中没有此类文件或目录编译终止
- Xcode 4.5.2 致命错误:预编译标头已被修改
- 致命错误:strtok_r.h:没有这样的文件或目录(在mingw中编译tesseract-ocr-3.01时)
- 致命错误mysql.h:编译期间没有这样的文件或目录
- 编译时 jsoncpp 出现致命错误
- C++编译致命错误
- 致命错误:opencv/cvtypes.h:没有终止此类文件或目录编译
- 编译 Qt 时出错:n出现致命错误 U1077
- 编译任何内容时出现奇怪的错误,VS 2010:致命错误LNK1120:1个未解决的外部
- Openfstexample.cpp:1:24:致命错误:fst/fstlib.h:没有终止这样的文件或目录编译
- 致命错误:字符串:没有这样的文件或目录编译终止
- vc++编译错误RC:致命错误RC1107:无效用法;使用RC/?对于
- python/cython编译pyx:致命错误:capsule.h:没有这样的文件或目录