c++ - 如何在 Visual Studio 中查看模板编译器错误详细信息

标签 c++ visual-studio templates compiler-errors visual-studio-2015

我正在使用 Visual Studio 2015,我遇到了很多编译器错误,但我无法找出这些错误的根本原因:

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 会显示此类错误的堆栈。
如何找出此错误的来源?

最佳答案

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

  1. 双击“错误列表”选项卡中的消息。
  2. 切换到“输出”标签
  3. 使用 F8 步进到链中的下一条消息(shift-F8 步进到上一条消息)

关于c++ - 如何在 Visual Studio 中查看模板编译器错误详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32975980/

相关文章:

c++ - 如何在 C++ 中使用映射实现模板的返回类型查找?

c++ - 每个类数据的 C++ 习惯用法,无需虚拟 getter 方法即可访问

c++ - 将功能放入 API 或让开发人员自己制作的标准

c++ - 如何在 VS Code 中为 C++ 开发进行初始设置?

android - Android Studio 和 Visual Studio 可以安全地共享相同的 Android SDK 吗?

c++ - 将项目变成静态库

c# - 如何在 Visual Studio Debug 中查找值?

c++ - 使用不同/未知类型的类模板初始化 vector

c++ - 如何确定模板参数是否默认?

c++ - 它在 C++11 标准中的什么地方指定了在翻译过程中何时可以评估 constexpr 函数?