在这个例子中:在使用声明中,依赖名称可以在模板替换后呈现给构造函数吗?
template<class T>
struct S : T
{
using T::X;
};
T::X
是指构件X
在T
一个从属名称。 如果S<T>
进行实例化T = X
:
struct X
{
X(int) {}
};
...
S<X> s(42);
请问using声明成为继承,构造函数?
Clang拒绝代码DEMO,而g ++接受它。
注意,如果我们写:
using T::X::X;
两种编译器接受的代码,并把它当作继承构造函数。 是否允许using T::X
通过标准成为继承构造函数?
请参阅[核心问题2070](https://wg21.link/CWG2070)。 –
非常感谢,回复更新。 – OmnipotentEntity