仮パラメータ宣言
関数:インデックス への移動
仮パラメータ宣言リストは,通常の識別子の宣言における宣言子の構文に似ています。以下に例を示します。
int func(void) { // 引数なし
int func(T1 t1, T2 t2, T3 t3=1) { // 3 つの単純パラメータ
// 1 つはデフォルト値付き
int func(T1* ptr1, T2& tref) { // 引数はポインタ 1 つ,参照 1 つ
int func(register int i) { // 引数のレジスタ割り当てを要求
int func(char *str,...) { /* 文字列の引数 1 つと,可変個の
さまざまな型の引数 */
C++ では,上の 2 番目の例のように,引数のデフォルト値を設定することができます。デフォルト値を持つパラメータは,パラメータリスト中の最後の引数でなければなりません。引数のデータ型は,スカラー,構造体,共用体,列挙型,あるいは構造体または共用体のポインタまたは参照,あるいは関数,クラス,配列を指すポインタのいずれかです。
省略記号(...)は,その関数は場合によって異なる引数の組とともに呼び出されることを示します。省略記号は,既知の引数宣言のサブリストの後ろに指定することができます。この形式のプロトタイプによって,コンパイラが行えるチェックの量は減少します。
宣言されたすべてのパラメータは,自動スコープを持ち,その持続期間は関数の持続期間と重なります。指定できる記憶クラス指定子は register だけです。
const と volatile 修飾子は,仮パラメータ宣言子でしか使用できません。