parameter array

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;
}