:선언을 사용할 때 템플릿 대체 이후에 종속적 이름이 생성자에 렌더링됩니까? 이 예에서
template<class T>
struct S : T
{
using T::X;
};
T::X
는 부재 T
에 X
지칭 종속 이름이다. S<T>
만약 는 T = X
인스턴스화됩니다 :
struct X
{
X(int) {}
};
...
S<X> s(42);
는 사용하여 선언은 상속 - 생성자가 될 것인가?
Clang은 코드 DEMO을 거부하고 g ++은이를 허용합니다.
using T::X::X;
두 컴파일러가 코드를 허용하고 상속 - 생성자로 취급 : 우리가 쓰면 것을
는참고. using T::X
은 표준으로 상속 생성자가 될 수 있습니까?
[핵심 이슈 2070] (https://wg21.link/CWG2070)을 참조하십시오. –
대단히 감사합니다. – OmnipotentEntity