Sdílet prostřednictvím


/vd (Zakázat posunutí konstrukcí)

/vdn

Arguments

  • 0
    Potlačí členské vtordisp konstruktor/destruktor přestavění.Vyberte tuto možnost pouze v případě, že jste si jisti, že všechny třídy konstruktory a destruktory volání virtuální funkce prakticky.

  • 1
    Umožňuje vytváření skryté vtordisp konstruktor/destruktor přestavění členů.Tato volba je výchozí.

  • 2
    Umožňuje použít dynamic_cast – operátor na objekt nevytváří.Například, dynamic_cast z virtuální základní třídy odvozené třídy.

    /vd2Přidá pole vtordisp, pokud máte virtuální base s virtuální funkce./vd1by mělo stačit.Nejběžnější případ, kde /vd2 je nezbytné je pouze virtuální funkce v základním virtuální destruktor.

Poznámky

Tyto možnosti platí pouze pro kód jazyka C++, který používá virtuální základny.

Visual C++implementuje podporu přestavění C++ konstrukce v situacích, kde je použit virtuální dědičnost.Konstrukce posuvy vyřešen vytvořen, pokud je virtuální funkce deklarována virtuální databáze a přepsání v odvozené třídě, se nazývá z konstruktor během výstavby další odvozené třídy.

Problém je, že virtuální funkce mohou být předány nesprávné this ukazatel v důsledku nesrovnalostí mezi posuvy na virtuální základy třída a posuvy na odvozených tříd.Řešení obsahuje jednu konstrukci přestavění úpravy, jen vtordisp pole pro každý virtuální základní třídy.

Ve výchozím nastavení jsou zavedeny vtordisp pole vždy, když kód definuje vlastní konstruktory a destruktory a také přepsání virtuální funkce virtuální základů.

Tyto možnosti ovlivní celý zdrojové soubory.Použití vtordisp k potlačení a znovu povolit pole vtordisp na základě třídy třídy.

Chcete-li nastavit tuto možnost kompilátoru ve vývojovém prostředí Visual Studio

  1. Otevřete dialogové okno projektu Stránky vlastností.Další informace naleznete v tématu Postupy: Otevření stránek vlastností projektu.

  2. Klikněte na složku C/C++.

  3. Klikněte na stránku vlastností Příkazový řádek.

  4. Zadejte možnost kompilátoru do pole Další možnosti.

Chcete-li tuto možnost kompilátoru nastavit v programu

Viz také

Referenční dokumentace

Možnosti kompilátoru

Nastavení možností kompilátoru