错误 C1001:编译器中发生内部错误
Error C1001: An internal error has occurred in the compiler
我在C++模板化任务中有一个虚拟函数,当它在Visual Studio 2015中编译时(我已经尝试了调试/发布和x86/x64的所有组合),它总是失败,并在以下代码行上出现编译器错误C1001:
e_Ty *d(new e_Ty[l]);
其中e_Ty
是类的模板参数。仅当我使用e_Ty
设置为 std::pair<const int &, int &>
的模板类时,才会发生此错误。是否有合法的理由说明这不应该起作用,或者这是 MSVC 中的错误?
编辑
笔记:
-
l
是提前声明(并作为函数调用的结果分配值)的局部变量。 - 我尝试使用禁用优化、使用
auto
和使用赋值式初始化,但都不起作用。 - 当
e_Ty
int
时,代码编译良好。
内部编译器错误(ICE)始终是一个错误。
请通过Microsoft连接报告。
有问题的代码,
e_Ty *d(new e_Ty[l]);
...
l
,是否包含适当的标题,等等。上下文太少了。std::pair
e_Ty
无效,因为引用需要初始化,如 T.C. 所述。但这对ICE来说并不重要。
值得一看的是它是否与以下方面有关:C++11 constexpr 导致编译器的内部错误 (C1001)
如果涉及 constexpr,则报告VS2015和VS2017编译器在与模板代码一起使用时崩溃。
相关文章:
- spdlog标头仅与外部fmt一起使用.spdlog错误:'内部':不是'fmt'
- 方法内部但循环仍得到预期的不合格id错误C++
- C++代码停止工作错误使用cout内部函数
- C1001内部编译器错误是由于矢量初始化(如数组)引起的
- 致命错误 C1001 :vs2017 15.8.4 的内部错误(编译器文件"msc1.cpp",第
- mingw32_gt_pch_use_address中的内部错误,在config/i386/host-mingw32.c
- C++:在"try"外部创建的类型会导致错误,但在内部不会
- 在另一个结构中声明内部结构会导致错误:结构使用无效
- 有关使用标志位设置内部错误标志的说明
- OpenMP 会导致内部编译器错误
- 内部编译器错误Visual Studio Community 2017与SFML API
- 致命错误 C1001:编译器中发生内部错误。'f:\dd\VCtools\Compiler\cxFE\SL\P1\C\P0io.c'
- 作为 int 传递和类内部指针之间的差异给我带来了分段错误
- 在尝试在同一类内部进行课程矢量时,我会遇到错误
- GCC(通过 CUDA)内部函数的编译器错误,但我没有使用任何
- 为什么在匿名名称空间中定义的模板时,为什么内部链接错误
- 在函数内部错误定位后,从函数中释放返回的指针会导致芯片崩溃
- "如果 constexpr",在 lambda 内部,在包扩展内部 - 编译器错误?
- G :内部编译器错误:分割故障(程序CC1PLUS) - 我在哪里开始
- VS2008 中的简单 swig python 示例 - 导入错误 - 内部 (py)readline 错误