Ben şuna benzer bir C++ fonksiyonu var parametre:ile C++ işlevinin çağrılması hükümsüz * C# app
int Compression::DecompressPacket(const void* inData, int inLength, void* outData, int outLength)
{
int headerLength = ComputeDataHeaderLength(inData);
return DecompressDataContent(static_cast<const unsigned char*>(inData) + headerLength, inLength - headerLength, outData, outLength);
}
Fonction bir C++ kütüphaneye içinde olan bir sınıf içinde. Öte yandan, C# uygulamasında bu özelliği çağırmam gerekir. Fonction, tiplerin parametrelerini girmemi ister: "void *, int, void *, int". , Adresini almak boyutunu almak veya beyan edemez
Hata 8:
Ben güvenli olmayan bir işlevi bir boşluk * yapmaya
,hatası alıyorum yönetilen tipte bir işaretçi ('bayt []')unsafe private void lstbox_packets_SelectedIndexChanged(object sender, EventArgs e) { [...] byte[] value = byteValuePackets[lstbox_packets.SelectedIndices[0]]; void* pValue = &value; [...] }
C++ ve işaretçisine aşina değilim ama nasıl bir boşluk * türü C# olarak geçirdiğimi tahmin ediyorum.
sabit referans için bağlantı var us/library/f58wzh21.aspx? f = 255 & MSPPError = -2147217396 –
@EliAlgranti doğru, cevabımda zaten sağladım. –
Üzgünüm, haklısın. Sabit anahtar kelimedeki stil, görünüşe göre bir bağlantı oluşturmuyordu :) –