Share via


Upozornění kompilátoru (úroveň 4) C4564

Metoda method třídy class 'class' definuje nepodporovaný výchozí parametr parameter 'parameter'

Kompilátor zjistil metodu s jedním nebo více parametry s výchozími hodnotami. Výchozí hodnoty parametrů budou při vyvolání metody ignorovány; explicitně zadejte hodnoty pro tyto parametry. Pokud pro tyto parametry explicitně nezadáte hodnoty, kompilátor C++ vygeneruje chybu.

Vzhledem k následujícímu souboru .dll vytvořenému pomocí jazyka Visual Basic, který umožňuje výchozí parametry pro argumenty 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

A následující ukázka jazyka C++, která používá knihovnu .dll vytvořenou pomocí jazyka 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);
}