是否在声明中的参数替换后评估require-clauses?

时间:2017-01-23 09:04:36

标签: c++ c++-concepts

在C ++标准N4618 / [temp.deduct](§14.8.2)中,以下示例(§14.8.2/ 7)演示了如何以词法顺序执行模板参数替换:

hello();

我还希望在声明内容之前评估require-clauses内容。我希望以下修改不会产生任何编译错误:

run

实际上GCC告诉我仍然有错误。这是TS概念中陈述的行为吗?

1 个答案:

答案 0 :(得分:2)

是。请参阅N4630 [temp.deduct] / 5中的注释:

  

与功能相关的约束(14.10)的满足   在重载解析期间确定模板特化   (13.3),而不是替代点。