18時10分56秒 [C/C++言語]
C++では、引数を省略可能な関数を作ることができます。
方法は簡単で、関数のプロトタイプ宣言で、引数にデフォルトの値を付けて定義するだけ。例えば、次のような感じで。
上記のHogehoge関数は、2つの引数(Col,Row)を取りますが、どちらも省略できます。省略した場合、上記の例だと、0を指定したことになります。
なお、引数を1つだけ指定した場合は、最初の引数に値を指定したと解釈されるので注意が必要です。
上記のHogehoge関数は、次のような引数を使った呼び出しの種類があります。
最初は引数をどちらも省略した場合。2つ目は、後ろの引数(Row)のみ省略した場合、3つ目は両方の引数を指定した場合です。
この関数の場合、最初の引数(Col)を省略して、最後の引数(Row)のみを指定することはできません。
例えば、以下のような呼び出しはエラーになります。
一見このように(第1引数を省略)書けそうな気もしないでもないのですが、このような書き方はできません。
また、「省略可能な引数」と「省略不可な引数」が混在した関数を作ることもできます。ただし、その場合、「省略不可な引数」を先に定義しなければなりません。例えば次のような感じです。
上記の例では、引数「Num」は省略不可です。引数「Col」と「Row」は省略できます。これを次のように記述することはできません。
これはエラーになります。必ず、省略できない引数を最初に記述しなければなりません。
この日記へのコメントはお気軽に! コメント数:0件
コメント数: 0件