Avviso del compilatore (livello 4) C4564
il metodo 'method' della classe 'class' definisce il parametro predefinito non supportato 'parameter'
Il compilatore ha rilevato un metodo con uno o più parametri con valori predefiniti. I valori predefiniti per i parametri verranno ignorati quando viene richiamato il metodo; specificare in modo esplicito i valori per tali parametri. Se non si specificano in modo esplicito i valori per tali parametri, il compilatore C++ genererà un errore.
Data la .dll seguente creata con Visual Basic, che consente parametri predefiniti per gli argomenti del metodo:
' 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
E l'esempio C++ seguente che usa il .dll creato con 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);
}