我在 C++ 模板任务中有一个虚函数,当它在 Visual Studio 2015 中编译时(我已经尝试了 Debug/Release 和 x86/x64 的所有组合),它在以下代码行中始终失败并出现编译器错误 C1001:
e_Ty *d(new e_Ty[l]);
e_Ty
类的模板参数在哪里。此错误仅在我使用e_Ty
设置为的模板类时发生std::pair<const int &, int &>
。是否有正当理由为什么这不起作用,或者这是 MSVC 中的错误?
编辑
笔记:
l
是提前声明的(并作为函数调用的结果赋值)的局部变量。- 我尝试过使用禁用优化、使用
auto
和使用赋值式初始化,但都没有奏效。 e_Ty
当is时,代码编译得很好int
。