Avviso C33004

VARIANT 'var', contrassegnato come _Out_ cancellato prima dell'inizializzazione (espressione 'expr')

Osservazioni:

Questo avviso viene attivato quando un VARIANT parametro con _Out_ annotazione SAL potrebbe non essere stato inizializzato nell'input e quindi viene passato a un'API come VariantClear quella che prevede un inizializzato VARIANT.

Nome dell'analisi del codice: VARIANTCLEAR_UNINITOUTPARAM

Esempio

Il codice di esempio seguente causa l'avviso C33004:

#include <Windows.h>

void t2(_Out_ VARIANT* pv)
{
    // ......
    VariantClear(pv);   // C33004
    // ......
}

Questi avvisi vengono corretti assicurando che VariantClear venga chiamato solo per un VARIANT correttamente inizializzato:

#include <Windows.h>

void t2(_Out_ VARIANT* pv)
{
    VariantInit(pv);
    // ......
    VariantClear(pv);   // OK
    // ......
}

Vedi anche

C33001C33005