다음 코드에서 X
은 C++ 11 가변 템플릿을 사용하도록 변환 된 것으로 보이며 임의의 수의 템플릿 인수를 지원해야합니까? 어쩌면함께 가변 템플릿 템플릿 연결
template<int OFFSET>
struct A { enum O { offset = OFFSET }; enum S { size = 2 }; };
template<int OFFSET>
struct B { enum O { offset = OFFSET }; enum S { size = 4 }; };
template<int OFFSET>
struct C { enum O { offset = OFFSET }; enum S { size = 10 }; };
template < template <int> class B0,
template <int> class B1,
template <int> class B2 >
struct X : public B0<1>,
B1<B0<1>::size * B0<1>::offset >,
B2< B1<B0<1>::size * B0<1>::offset >::size *
B1<B0<1>::size * B0<1>::offset >::offset >
{ };
int main(int argc, const char *argv[])
{
X<A, B, C> x;
return 0;
}
죄송없는 몇 가지 세부 사항이있다, 당신은'X_helper'에'인수를 ...'통과하지만 기대 첫 번째 매개 변수는'int'입니다. – SirGuy
당신은 절대적으로 맞습니다, 고마워요 :) – filmor