2014-01-12 136 views

回答

2

如果它們是相同類型的所有參數,只需使用初始化列表

struct foo 
{ 
    foo(std::initializer_list<int> init) 
    { 
     .... 
    } 
} 

你還是會需要但把這些東西加到某種類型的容器,(例如):

struct foo 
{ 
    std::vector<int> v; 

    foo(std::initializer_list<int> init) 
     : v(init.begin(), init.end()) 
    { } 

}; 
+0

感謝的人,這真的幫助! – CodeDoctorJL

0

你在談論它的方式,我不認爲這將是可能的。你將如何將所有這些參數分配給字段?您需要爲對象動態生成不同的字段!我幾乎可以肯定這是不可能的。但是,你可以做的是讓構造器將一個數組作爲它的參數的一部分,你可以用不同數量的「子參數」來填充它。 祝你好運。

+0

我想同樣的事情,但我忘了提及的參數都是相同的數據類型,所以Yuushi的建議似乎解決我的問題。儘管謝謝! – CodeDoctorJL

+0

不同類型,你可以使用可變參數模板,並將其存儲在一個'的std :: tuple'。 – chris

相關問題