関数の引数名を無名にする事ができます。
無名にするので、関数内でその無名の引数は使えませんが、
将来の拡張性としての使い道があります。
今はこの引数は使わないものの、
バージョンアップでこの引数を使うかもしれない。
という時などに有効です。
使わない無名の引数の説明として、
「常に0を指定して下さい。」等と書いておけば問題ありません。
また、普通に名前付きの引数として使っても問題ありません。
#include <iostream>
using namespace std;
int tasizan(int a, int b, int); // 第3引数が無名
void main(void) {
int ans_tasizan = 0;
ans_tasizan = tasizan(20, 5, 0);
cout << ans_tasizan << '\n';
}
他の使い方としては、
関数の多重定義(オーバーロード)があった場合に、
無名の引数によって呼び出す関数を区別する。
と言った使い方もできます。
int keisan(int a, int b);
int keisan(int a, int b, int);
void main(void) {
int ans = 0;
ans = keisan(20, 5); // 足し算
ans = keisan(20, 5, 1); // 引き算
}
int keisan(int a, int b) {
return a + b;
}
int keisan(int a, int b, int) {
return a - b;
}
このプログラムの場合、関数keisanが2つ多重定義されていますが、
第3引数の有無によって区別されるようになっています。
ない場合は、足し算用の関数keisanが呼ばれ、
ある場合は、引き算用の関数keisanが呼ばれます。