使用指令不适用于概念吗?为什么?
下面的示例不起作用,并且我收到一个编译器错误,指出它需要一个类型。
#include <concepts>
namespace A::X {
struct BaseA {};
template < typename AType >
concept DerivedFromA = std::derived_from < AType, BaseA >;
}
namespace A {
using DerivedFromA = X::DerivedFromA;
}
我希望能够DerivedFromA
从名称空间访问概念A
,DerivedFromA
而不是X::DerivedFromA
使用指令不适用于概念吗?为什么?
因为您使用的方式using
声明了类型别名。并且concept
s不是类型模板。
您打算做的是使一个名称空间中的名称在另一名称空间中可用。看起来像这样:
namespace A
{
using X::DerivedFromA;
}
这适用于各种名称。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句