「parameter ‘xxx’ is initialized」というエラーメッセージは、関数の引数が初期化されている場合に表示されます。これは、関数の引数は、値を渡すための変数であり、初期化する必要がありません。そのため、関数の引数に初期値を設定してはいけません。
例えば、次のようなコードでは、関数fooの引数が初期化されているため、このようなエラーが表示されます。
void foo(int x = 0) { // エラー: xが初期化されています // 関数fooの処理 }
正しい使い方は、次のように、関数の引数に初期値を設定しないようにすることです。
void foo(int x) { // 正しい使い方: xに初期値は設定されていません // 関数fooの処理 }
また、初期化されていない変数には、型に応じた初期値が設定されます。例えば、int型の変数xには、0が設定され、char型の変数cには、’\0’が設定されます。
void foo(int x, char c) { // 関数fooの処理 // xには0が、cには'\0'が設定されています }
コメント