कॉल मैं ऐसा ही कुछ देख रहा हूँ:variadic टेम्पलेट पैरामीटर पैक समारोह के लिए विस्तार हो रहा
पैरामीटर पैक विस्तार एक और समारोह के अंदर किया जाता हैtemplate< typename T>
void func(T t)
{
}
template< typename... Parms>
void anyFunc(Parms... p)
{
func<Parms>(p)... ; //error
func(p)... ; //error
}
यदि यह फोन काम करता है:
template< typename T>
int some(T t)
{}
template< typename... Parms>
void func(Parms ...p)
{}
template< typename... Parms>
void somemore(Parms... p)
{
func(some(p)...);
}
int main()
{
somemore(1,2,3,4,10,8,7, "Hallo");
}
पैरामीटर पैक विस्तार बेस क्लास प्रारंभकर्ताओं की एक सूची के लिए भी काम करेगा।
क्या कोई समाधान है जो कार्यों के लिए भी काम करेगा जो 'शून्य' वापस कर देगा। ऊपर दिए गए वर्कअराउंड, फ़ंक्शन कॉल का उपयोग करते समय पैरामीटर सूची के अंदर शून्य लौटने पर काम नहीं कर सका।
कोई भी विचार? जिन संदर्भों अल्पविराम सिर्फ एक वाक्यात्मक विभाजक, नहीं अल्पविराम ऑपरेटर है -
Hacky समाधान अल्पविराम ऑपरेटर के साथ समारोह कॉल गठबंधन करने के लिए किया जाएगा (ताकि पैक विस्तार पैटर्न 'शून्य' उत्पन्न नहीं करता है) और किसी प्रकार का डमी फ़ंक्शन का उपयोग करें जो इसके तर्कों को "खाता है"। कुछ ऐसा [http://] [http://ideone.com/fFyPT)। संदेह यह है कि आप चाहते थे कि, हालांकि। :) – Vitus