题
当人们说 C++ 的错误消息对于模板来说非常糟糕时,我真的开始理解他们的意思了。对于像函数与其原型不匹配这样简单的事情,我见过可怕的长错误。
有什么技巧可以破译这些错误吗?
编辑:我同时使用 gcc 和 MSVC。他们俩看起来都非常可怕。
解决方案
您可以尝试以下工具让事情变得更加理智:
其他提示
我绝对不能。小错误会爆炸成一页又一页的不可读的垃圾。通常是在清晨,喝咖啡之前。:(
我唯一的建议是深吸一口气,从顶部开始,尝试解析重要的信息。(我知道,说起来容易做起来难,对吧?)。
有些编译器比其他编译器提供更好的消息。你使用什么编译器?话虽如此,他们都非常糟糕。C++0X 将解决大部分这个问题(参见 概念),但该标准要到 2009 年才会发布,广泛的支持可能会更晚:-(
至少在 Visual Studio 中,“输出构建”窗口中提供了更多信息,而不是错误列表。我在错误列表状态中遇到了模板错误,“无法将 Foo<int> 转换为 Foo<int>”。输出窗口中实际错误后面有一些行帮助我破译实际问题是什么。
不隶属于 StackOverflow