Condividi tramite


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