Bagikan melalui


Compiler Warning (level 4) C4564

metode 'metode' kelas 'kelas' mendefinisikan parameter default 'parameter' yang tidak didukung

Pengkompilasi mendeteksi metode dengan satu atau beberapa parameter dengan nilai default. Nilai default untuk parameter akan diabaikan ketika metode dipanggil; secara eksplisit menentukan nilai untuk parameter tersebut. Jika Anda tidak secara eksplisit menentukan nilai untuk parameter tersebut, pengkompilasi C++ akan menghasilkan kesalahan.

Mengingat .dll berikut yang dibuat dengan Visual Basic, yang memungkinkan parameter default pada argumen metode:

' 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

Dan sampel C++ berikut yang menggunakan .dll yang dibuat dengan 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);
}