相关疑难解决方法(0)

为什么概念细化不能使用简洁的语法

在完善概念时,在标准中始终如一地完成的方式是完全写出正在改进的概念.例如,在[concepts.integral]中,SignedIntegral精炼Integral如下:

template<class T>
  concept Integral = is_integral_v<T>;
template<class T>
  concept SignedIntegral = Integral<T> && is_signed_v<T>;
Run Code Online (Sandbox Code Playgroud)

为什么不能将精致的概念写成:

template<Integral T>
  concept SignedIntegral2 = is_signed_v<T>;
Run Code Online (Sandbox Code Playgroud)

SignedIntegral2似乎具有相同的明显含义SignedIntegral,但它甚至没有在clang上编译.是否有一个原因?

c++ c++-concepts c++20

15
推荐指数
1
解决办法
258
查看次数

标签 统计

c++ ×1

c++-concepts ×1

c++20 ×1