arrayを用いて、可変長の引数をもつ関数を定義できます。可変長引数をarrayで受け取るには…を用います。
void func(... array<Object^> ^a) { for each(Object^ o in a) { System::Console::WriteLine(o); } } int main() { func(1); func(2); func(1,2,"AAA"); return 0; }
このようなarray引数をparameter arrayといいます。 parameter array引数は、1つの関数で1つしか宣言できません。しかし他の引数とともに使うことができます。この場合、parameter arrayは最後の引数にしなければなりません。
void func(int i, ... array<Object^> ^a) { for each(Object^ o in a) { System::Console::WriteLine(o); } } int main(array<System::String ^> ^args) { func(1); // paramter arrayには要素数0のarrayが渡される。 func(2); func(1,2,"AAA"); return 0; }