की एक चर संख्या को स्वीकार कर सकता है क्या एक विविध रचनाकार में तर्कों के प्रकार को बाधित करना संभव है?मैं एक सी ++ कन्स्ट्रक्टर कैसे बना सकता हूं जो int के
क्या मैं हासिल करना चाहते हैं एक निर्माता (स्थिरांक संकलन समय पर जाना जाता है) में में पारित कर दिया डाटा स्टोर करने के लिए है:
मैं व्यक्त करने के लिए
X x1(1,3,4);
X x2(3,4,5);
// syntax error: identifier 'Args'
class X {
template<int ... Args> X(Args...)
{
}
};
// this works but allows other types than int
class Y {
template<typename ... Args> Y(Args...)
{
}
};
संपादित मंशा स्पष्ट करने के लिए सक्षम होना चाहते हैं एक स्थिर सरणी
तो वहाँ कुछ अन्य
template<int ...values>
struct Z
{
static int data[sizeof...(values)];
};
template<int ... values>
int Z<values...>::data[sizeof...(values)] = {values...};
और एक्स के निर्माता मैं इस तरह जेड का उपयोग करना चाहते हैं:
class X {
template<int ... Args> X(Args...)
{
Z<Args...>::data // do stuff with data
}
};
है कि संभव है, मेरे पास है हमारे करते integer_sequence उपयोग करने के लिए?
क्या आप सुनिश्चित करते हैं कि ओपी का 'इंटी' संकलन समय स्थिरांक है? – Barry
@ बैरी - हाँ, वे संकलन समय पर जाने जाते हैं! –
@StaffanGustafsson - यह आपके प्रश्न में उपयोगी जानकारी होगी। –