निम्नलिखित कोड में 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' को' args ... 'पारित लेकिन पहले पैरामीटर यह उम्मीद एक' int' है। – SirGuy
आप बिल्कुल सही हैं, धन्यवाद :) – filmor