类模板中依赖继承类构造器存在性的构造器约束实现疑问
类模板中依赖继承类构造器存在性的构造器约束实现疑问
各位好,我现在有个关于类模板构造器约束的问题想请教:我想实现一个继承自模板参数的类模板,让它的构造器是否存在完全依赖于基类(也就是模板参数类型)的构造器情况。
目前我写了一个简单的测试案例,实现了一个可选的int构造器——只有当基类存在默认构造器时,这个int构造器才会被启用,这段代码是可以正常编译运行的:
template <typename T> struct B : T { using T::T; B(int) requires( requires{B{};} ) {} }; struct A {}; B<A> u; B<A> v(1);
但当我尝试去条件化地定义复制构造器的时候,就碰到了问题(原问题描述未完成)。
内容来源于stack exchange
相关产品推荐
相关产品推荐

