我正在使用2015更新3。
我犯了一个致命的错误:
(代码C1001):编译器中发生了内部错误。
以下是代码:
template<typename T>
constexpr T epsilon = std::numeric_limits<T>::epsilon();我读到它是在2中修复的。有人能解释一下为什么我会收到这个错误吗?提前谢谢。
发布于 2018-06-12 07:53:50
我向微软提出了这个问题,但从2017年初开始,他们就有了一个解决方案,但到目前为止,我还没有从我所看到的情况中看到这个问题。
我还提供了一个关于GitLab的项目,并在这里向微软提供了该项目的信息:https://gitlab.com/cppocl/tostring
加载.sln并使用VisualStudio2015UPDATE 2或3和VisualStudioEnterprise2017版本15.3.1当前崩溃。
似乎模板和constexpr的结合会导致编译器崩溃。
我见过Visual 2017的报告描述了类似类型的问题。
VisualStudio2015中与constexpr相关的bug积压在这里:https://blogs.msdn.microsoft.com/vcblog/2015/12/02/constexpr-in-vs2015-update-1/
编辑:我也不相信改变优化设置会有任何不同,正如在其他帖子中所建议的那样。到目前为止,我已经对这些设置进行了实验,并应用了推荐的修补程序,但没有成功。
https://stackoverflow.com/questions/38696112
复制相似问题