次の方法で共有


コンパイラ エラー C2548

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

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

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

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

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

  • func2 必要なすべての既定の引数が指定されているためです。
  • 前の宣言で既定の引数cが指定され、同じスコープ内にあるため、2 番目func4の宣言。
  • 3 番目func4の宣言は、既定の引数とc以前に指定された引数のb両方であるためです。
// 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