【发布时间】:2020-06-15 09:47:54
【问题描述】:
[expr.prim.req]/6中提到的新发布的草稿:
如果将模板参数替换为需求会 总是导致替换失败,程序格式错误;不 需要诊断。 [ 示例:
template<typename T> concept C = requires { new int[-(int)sizeof(T)]; // ill-formed, no diagnostic required };—结束示例]
但是为什么我们不能保证诊断总是失败,而不是跳过诊断呢?
【问题讨论】:
-
我知道你想说我可以删除第一行和最后一行的代码格式,但是由于SO markdown检查的限制,我莫名其妙无法提交...跨度>
-
现在好点了吗? ...
-
@L.F.是的。谢谢!
-
问题是“为什么不需要诊断”还是“为什么我们不能允许它只评估为
false”? -
@T.C.你的意思是我错误地理解了“诊断”的含义?谢谢,我会重新检查一下,但暂时不会,因为在中国已经是 0:13。
标签: c++ templates require c++20 c++-concepts