: class Base
{
protected:
Base(P1 p1, P2 p2, P3 p3);
public:
virtual void SomeMethod() = 0;
}
class Derived : public Base
{
public:
using Base::Base;
public:
virtual voi
다음 코드는 연타 3.4/3.5 (엑스 코드 5/6)에서 완벽하게 정상적으로 빌드하지만, 비주얼 C++ (14) CTP3에서 오류를 던졌습니다 : 1 빌드 시작> ------ : 프로젝트 : InheritingConstructor, 구성 : 디버그는 Win32 ------ 1> inheritingconstructor.cpp (60) : 오류 C2661 :
C++ 11에서는 생성자를 상속하여 래스터 클래스와 같은 것으로 많은 상투적 인 표현을 피할 수 있습니다. 그러나 variadic 템플릿만으로이 기능을 이미 구현할 수있는 것처럼 보입니다. class B
{
public:
B(int){//do something}
B(int, char){//do something}
};
사용 상속 생성자 : cl
: 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은 코