Bagikan melalui


/vd (Nonaktifkan Perpindahan Konstruksi)

Sintaks

/vdn

Argumen

0
Menekan anggota perpindahan konstruktor/destruktor vtordisp. Pilih opsi ini hanya jika Anda yakin bahwa semua konstruktor dan destruktor kelas memanggil fungsi virtual secara virtual.

1
Memungkinkan pembuatan anggota perpindahan konstruktor/destruktor vtordisp tersembunyi. Pilihan ini adalah default.

2
Memungkinkan Anda menggunakan Operator dynamic_cast pada objek yang sedang dibangun. Misalnya, dynamic_cast dari kelas dasar virtual ke kelas turunan.

/vd2 menambahkan bidang vtordisp saat Anda memiliki basis virtual dengan fungsi virtual. /vd1 harus cukup. Kasus paling umum di mana /vd2 diperlukan adalah ketika satu-satunya fungsi virtual di basis virtual Anda adalah destruktor.

Keterangan

Opsi ini hanya berlaku untuk kode C++ yang menggunakan basis virtual.

Visual C++ menerapkan dukungan perpindahan konstruksi C++ dalam situasi di mana pewarisan virtual digunakan. Perpindahan konstruksi menyelesaikan masalah yang dibuat ketika fungsi virtual, dinyatakan dalam basis virtual dan ditimpa di kelas turunan, dipanggil dari konstruktor selama pembangunan kelas turunan lebih lanjut.

Masalahnya adalah bahwa fungsi virtual dapat diteruskan penunjuk yang salah this sebagai akibat dari perbedaan antara perpindahan ke basis virtual kelas dan perpindahan ke kelas turunannya. Solusi ini menyediakan penyesuaian perpindahan konstruksi tunggal, yang disebut bidang vtordisp, untuk setiap basis virtual kelas.

Secara default, bidang vtordisp diperkenalkan setiap kali kode menentukan konstruktor dan destruktor yang ditentukan pengguna dan juga mengambil alih fungsi virtual basis virtual.

Opsi ini memengaruhi seluruh file sumber. Gunakan vtordisp untuk menekan lalu mengaktifkan kembali bidang vtordisp berdasarkan kelas demi kelas.

Untuk mengatur opsi pengkompilasi ini di lingkungan pengembangan Visual Studio

  1. Buka kotak dialog Halaman Properti proyek. Untuk detailnya, lihat Mengatur pengkompilasi C++ dan membuat properti di Visual Studio.

  2. Pilih halaman properti Properti>Konfigurasi C/C++>Baris Perintah.

  3. Masukkan opsi pengkompilasi dalam kotak Opsi Tambahan.

Untuk mengatur opsi pengkompilasi ini secara terprogram

Baca juga

Opsi Pengkompilasi MSVC
Sintaks Baris Perintah Pengkompilasi MSVC