컴파일러 경고(수준 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);
}