使用模板更精确的诊断错误消息?

Alo*_*ave 5 c++ templates diagnostics

模板的编译错误通常很模糊,除非人们非常精通模板,否则不易解密.很多时候,专家程序员可能会因此而陷入困境.我相信我们大多数人已经多次感受到它的压力.

据我了解C++标准只强制要求的实现提供了诊断为病态的程序,但并不怎么还是什么应提供诊断信息.
但是,标准委员会是否制定了任何指导方针来克服在模板情况下不易破译的诊断问题(特别是).这有甚至可以讨论吗?此外,主流实施是针对此问题做了什么或已经计划好了吗?

这个问题对于讨论来说是非常开放的,但是由于SO C++社区是最活跃的C++社区之一,我确信某个地方的人必须至少对此有所了解.此外,一些标准委员会成员(我知道)积极参与C++标签,我希望他们可能有一些相关的信息if等.

aba*_*ert 5

你问两个不同的问题.

首先,是的,主流实现正在做些什么.它可能不是g ++或msvc的首要任务,但这些并不是唯一的主流实现.这是clang背后的设计目标之一(参见http://clang.llvm.org/diagnostics.html),至少在某些时候,英特尔列出了更好的模板错误作为ic ++而不是msvc的卖点.

其次,人们对标准委员会详细讨论这一点,而且大多认为概念就是问题的答案,这实际上意味着它已经推迟到未来,因为概念是从C++ 11标准去除的重要组成部分.