다음을 통해 공유


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

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

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

메서드 인수에 대한 기본 매개 변수를 허용하는 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);
}