Compiler Warning (level 1) C4383
'instance_dereference_operator' : arti dari dereferensi handel dapat berubah, ketika operator 'operator' yang ditentukan pengguna ada; tulis operator sebagai fungsi statis untuk menjadi eksplisit tentang operand
Saat Anda menambahkan penimpaan instans yang ditentukan pengguna dari operator dereferensi dalam jenis terkelola, Anda berpotensi mengambil alih kemampuan operator dereferensi jenis untuk mengembalikan objek handel. Pertimbangkan untuk menulis operator dereferensi statis yang ditentukan pengguna.
Untuk informasi selengkapnya, lihat Menangani ke Operator Objek (^) dan Operator Referensi Pelacakan.
Selain itu, operator instans tidak tersedia untuk pengkompilasi bahasa lain melalui metadata yang dirujuk. Untuk informasi selengkapnya, lihat Operator yang Ditentukan Pengguna (C++/CLI).
Contoh
Sampel berikut menghasilkan C4383.
// C4383.cpp
// compile with: /clr /W1
ref struct S {
int operator*() { return 0; } // C4383
};
ref struct T {
static int operator*(T%) { return 0; }
};
int main() {
S s;
S^ pS = %s;
T t;
T^ pT = %t;
T% rT = *pT;
}
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk