Esporta (0) Stampa
Espandi tutto
Espandi Riduci a icona
Il presente articolo è stato tradotto manualmente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

/vd (Disabilita spostamenti costruttori)

/vdn

0

Elimina il membro di spostamento del costruttore/distruttore vtordisp. Scegliere questa opzione solo se si è certi che tutti i costruttori e distruttori di classe chiamino virtualmente le funzioni virtuali.

1

Attiva la creazione di membri nascosti di spostamento del costruttore/distruttore vtordisp. Questa è la scelta predefinita.

2

Consente di utilizzare l'Operatore dynamic_cast su un oggetto da costruire, ad esempio da una classe base virtuale a una classe derivata.

L'opzione /vd2 aggiunge un campo vtordisp quando si dispone di una base virtuale con funzioni virtuali. L'opzione /vd1 dovrebbe essere sufficiente. ma /vd2 è necessario quando l'unica funzione virtuale nella base virtuale è rappresentata da un distruttore.

Queste opzioni si applicano solo al codice C++ che utilizza basi virtuali.

In Visual C++ il supporto per lo spostamento della costruzione C++ viene implementato nelle situazioni in cui viene utilizzata l'ereditarietà virtuale. Gli spostamenti della costruzione risolvono il problema creato quando una funzione virtuale, dichiarata in una base virtuale e di cui è stato eseguito l'override in una classe derivata, viene chiamata da un costruttore durante la costruzione di un'ulteriore classe derivata.

Alla funzione virtuale può essere passato un puntatore this non corretto come conseguenza di discrepanze tra gli spostamenti nelle basi virtuali di una classe e gli spostamenti nelle relative classi derivate. La soluzione offre un'unica modifica allo spostamento della costruzione, denominata campo vtordisp, per ogni base virtuale di una classe.

Per impostazione predefinita, i campi vtordisp vengono introdotti ogni volta che il codice definisce costruttori e distruttori definiti dall'utente ed esegue anche l'override di funzioni virtuali di basi virtuali.

Queste opzioni influenzano interi file di origine. Utilizzare vtordisp per disabilitare e quindi riabilitare i campi vtordisp classe per classe.

Per impostare l'opzione del compilatore nell'ambiente di sviluppo di Visual Studio

  1. Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Procedura: aprire le pagine delle proprietà dei progetti.

  2. Fare clic sulla cartella C/C++.

  3. Fare clic sulla pagina delle proprietà Riga di comando.

  4. Digitare l'opzione del compilatore nella casella Opzioni aggiuntive.

Per impostare l'opzione del compilatore a livello di codice

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft