다음을 통해 공유


컴파일러 경고(수준 4) C4564

'class' 클래스의 메서드 'method'는 지원되지 않는 기본 매개 변수 'parameter'를 정의합니다.

비고

컴파일러는 기본값이 있는 하나 이상의 매개 변수가 있는 메서드를 검색했습니다. 메서드가 호출될 때 매개 변수의 기본값은 무시됩니다. 명시적으로 해당 매개 변수의 값을 지정합니다. 해당 매개 변수에 대한 값을 명시적으로 지정하지 않으면 C++ 컴파일러에서 오류가 발생합니다.

Example

메서드 인수에 대한 기본 매개 변수를 허용하는 Visual Basic을 사용하여 만든 다음 .dll 지정합니다.

' C4564.vb
' compile with: vbc /t:library C4564.vb
Public class TestClass
   Public Sub MyMethod (a as Integer, _
                        Optional c as Integer=1)
   End Sub
End class

Visual Basic으로 만든 .dll 사용하는 다음 C++ 예제는 다음과 같습니다.

// C4564.cpp
// compile with: /clr /W4 /WX
#using <C4564.dll>

int main() {
   TestClass ^ myx = gcnew TestClass();   // C4564
   myx->MyMethod(9);
   // try the following line instead, to avoid an error
   // myx->MyMethod(9, 1);
}