我正在使用 Visual Studio 2015,我遇到了很多编译器错误,但我无法找出这些错误的根本原因:
双击突出显示的错误会将我带到 list
文件到 operator==
:
template<class _Ty,
class _Alloc> inline
bool operator==(const list<_Ty, _Alloc>& _Left,
const list<_Ty, _Alloc>& _Right)
{ // test for list equality
return (_Left.size() == _Right.size()
&& _STD equal(_Left.begin(), _Left.end(), _Right.begin()));
}
好吧,那没用。由于我正在处理一个巨大的项目,我不知道该错误的根本原因在哪里,即以导致此错误的方式使用 std::list
的代码在哪里?
如果我没记错的话,我认为 XCode 会显示此类错误的堆栈。
如何找出此错误的来源?
最佳答案
如评论中所述,“输出”选项卡 (Ctrl+Alt+O) 显示来自编译器的所有消息。 “错误列表”选项卡仅显示一条消息,即实际错误,如您所说,这对于模板编译问题不是很有帮助。我发现效果很好(有点乏味,但确实有效),就是
- 双击“错误列表”选项卡中的消息。
- 切换到“输出”标签
- 使用 F8 步进到链中的下一条消息(shift-F8 步进到上一条消息)
关于c++ - 如何在 Visual Studio 中查看模板编译器错误详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32975980/