Udostępnij za pomocą


Ostrzeżenie kompilatora (poziom 4) C4564

metoda "method" klasy "class" definiuje nieobsługiwany domyślny parametr "parameter"

Uwagi

Kompilator wykrył metodę z co najmniej jednym parametrem z wartościami domyślnymi. Wartości domyślne parametrów zostaną zignorowane podczas wywoływanej metody; jawnie określ wartości dla tych parametrów. Jeśli nie określisz jawnie wartości dla tych parametrów, kompilator języka C++ wygeneruje błąd.

Example

Biorąc pod uwagę następujące .dll utworzone za pomocą języka Visual Basic, które zezwalają na domyślne parametry argumentów metody:

' 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

Poniższy przykład języka C++, który używa .dll utworzonej za pomocą języka Visual Basic,

// 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);
}