3

我与Visual Studio 2015年的工作,我得到了很多编译器错误的,但我无法揣摩出这些的根本原因是:如何查看模板编译器错误的详细信息在Visual Studio

Compiler errors in Visual Studio

突出显示的错误双击带我到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会显示这样的错误的堆栈。
我怎样才能找出这个错误的起源?

+0

IIRC还有一个构建控制台窗口,可以检查原始文本输出包括相关笔记。 –

+0

没有什么比这更高或更低的? Visual Studio真的是这样吗?我的VIm给了我更好的错误管理... – SergeyA

+0

'输出'选项卡,具体而言。如果快捷方式与MSVS2013上的快捷方式相同,则按Ctrl-Alt-O应该启动它。 – jaggedSpire

回答

1

正如评论中所述,输出选项卡(Ctrl + Alt + O)显示来自编译器的所有消息。 “错误列表”选项卡只显示一条消息,即实际的错误,如您所说,模板编译问题不是很有帮助。我发现的作品非常好(有点乏味,但确实有效),是

  1. 双击错误列表选项卡中的消息。
  2. 切换到输出标签
  3. 使用F8步骤到下一个消息中的链(移位-F8步骤先前的消息)
+0

是的,输出选项卡可能会提供一些额外的信息,如果内部的Visual Studio错误不会发生,我已经在评论中描述。 – j00hi

+0

有时将预处理器输出发送到文件(''/ P''编译器标志)帮助我追踪类似的问题。 – Phil

相关问题