Skip to content

Latest commit

 

History

History
62 lines (49 loc) · 1.06 KB

File metadata and controls

62 lines (49 loc) · 1.06 KB
title c33001
description C33001 warning for VARIANTs
keywords c33001
author hwisungi
ms.author hwisungi
ms.date 06/20/2020
ms.topic reference
f1_keywords
C33001
helpviewer_keywords
C33001
dev_langs
C++

C33001

Warning C33001: VARIANT 'var' was cleared when it was uninitialized (expression 'expr')

This warning is triggered when an uninitialized VARIANT is passed to an API such as VariantClear that expects an initialized VARIANT.

Example

#include <Windows.h>

HRESULT foo(bool some_condition)
{
    VARIANT var;

    if (some_condition)
    {
        //...
        VariantInit(&var);
        //...
    }

    VariantClear(&var);     // C33001
}

These warnings are corrected by ensuring VariantClear is called only for a properly initialized VARIANT:

#include <Windows.h>

HRESULT foo(bool some_condition)
{
    VARIANT var;

    if (some_condition)
    {
        //...
        VariantInit(&var);
        //...
        VariantClear(&var);     // C33001
    }
}

See also

C33004 C33005