/VD (Wyłącz budowy przesunięcia)
/vdn
Argumenty
0
Pomija Członkowskie przemieszczenie destruktora/konstruktora vtordisp.Wybierz tę opcję tylko, jeśli masz pewność, wszystkie klasy konstruktory i destruktory wywołania wirtualnej praktycznie funkcje.1
Umożliwia tworzenie członków przemieszczenie konstruktora/destruktora vtordisp ukryte.Ten wybór jest domyślnie.2
Umożliwia użycie Operator dynamic_cast obiektu generowana.Na przykład, dynamic_cast z wirtualnej klasy podstawowej do klasy pochodnej./vd2dodaje pole vtordisp, gdy wirtualne base funkcje wirtualnych./vd1powinno być wystarczające.Najczęściej gdy sprawa /vd2 jest niezbędne jest, gdy tylko wirtualnego funkcji w sieci wirtualnej base jest destruktor.
Uwagi
Te opcje dotyczą tylko kodu C++ korzystającego z wirtualnego podstaw.
Visual C++implementuje C++ budowy przemieszczenie wsparcia w sytuacjach, w których jest używany wirtualny dziedziczenia.Przesunięcia budowy rozwiązać problemu, utworzony podczas wirtualny funkcja zadeklarowana w wirtualnych base i zastąpiony w klasie pochodnej, jest wywoływana z konstruktora podczas budowy dalsze klasy pochodnej.
Problemem jest to, że funkcja wirtualne mogą być przekazywane nieprawidłowych this wskaźnik w wyniku rozbieżności między przesunięcia do wirtualnego podstaw klasy i przesunięcia do jej klas pochodnych.Roztwór zawiera pojedynczy budowy dostosowanie przemieszczenie, nazywane polem vtordisp dla każdego wirtualnego base klasy.
Domyślnie pola vtordisp są wprowadzane w każdym przypadku, gdy kod definiuje użytkownika konstruktory i destruktory i zastępuje również funkcje wirtualnych podstaw wirtualnych.
Opcje te dotyczą całego źródła plików.Użyj vtordisp , aby wyłączyć i ponownie włączyć vtordisp pola na podstawie klasy klasy.
Aby ustawić tę opcję kompilatora w środowisku programowania Visual Studio
Otwórz projekt Stron właściwości okno dialogowe.Aby uzyskać szczegółowe informacje, zobacz Jak: Otwórz strony właściwości projektu.
Kliknij C i C++ folder.
Kliknij wiersza polecenia stronę właściwości.
Wpisz opcję kompilatora w Dodatkowe opcje pole.
Aby programowo ustawić tę opcję kompilatora
- See AdditionalOptions.