次の方法で共有


コンパイラ エラー C2548

'class::member' : parameter パラメーターに既定のパラメーターがありません

既定のパラメーター リストにパラメーターがありません。 パラメーター リスト内の任意の場所に既定のパラメーターを指定する場合は、現在の宣言内のすべての後続のパラメーターまたは同じスコープ内の以前の宣言の既定のパラメーターを定義する必要があります。

次の例では、次の C2548 が生成されます。

  • func1 既定の引数 bがないためです。
  • func3 既定の引数 cがないためです。

次の例では C2548 は生成されません。

  • func2 必要なすべての既定の引数が指定されているためです。
  • 2 番目の func4 宣言は、前の宣言で既定の引数 c が指定され、同じスコープ内にあるためです。
  • 既定の引数bcの両方が前に指定されているため、3 番目のfunc4宣言。
// C2548.cpp
// compile with: /c
void func1(int a = 1, int b, int c = 3);   // C2548

void func2(int a = 1, int b = 2, int c = 3);   // OK

void func3(int a, int b = 2, int c);   // C2548

void func4(int a, int b, int c = 3);   // OK
void func4(int a, int b = 2, int c);   // OK
void func4(int a = 1, int b, int c);   // OK