この文書の現在のバージョンと選択したバージョンの差分を表示します。
cli:parameter_array [2009/02/03 07:17] admin |
cli:parameter_array [2013/12/23 09:08] |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
- | {{indexmenu_n>15}} | ||
- | ====== parameter array ====== | ||
- | |||
- | arrayを用いて、可変長の引数をもつ関数を定義できます。可変長引数をarrayで受け取るには...を用います。 | ||
- | <code cpp> | ||
- | 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; | ||
- | } | ||
- | </code> | ||
- | このようなarray引数をparameter arrayといいます。 parameter array引数は、1つの関数で1つしか宣言できません。しかし他の引数とともに使うことができます。この場合、parameter arrayは最後の引数にしなければなりません。 | ||
- | |||
- | <code cpp> | ||
- | 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; | ||
- | } | ||
- | </code> |