C33001
警告 C33001: VARIANT 'var' は、初期化前の状態に戻されたときにクリアされました (式 'expr')
この警告は、初期化前の状態に戻された VARIANT が、初期化された VARIANT を必要とする VariantClear などの API に渡されるとトリガーされます。
例
#include <Windows.h>
HRESULT foo(bool some_condition)
{
VARIANT var;
if (some_condition)
{
//...
VariantInit(&var);
//...
}
VariantClear(&var); // C33001
}
これらの警告は、適切に初期化された VARIANT に対してのみ VariantClear が呼び出されるようにすることで解決されます。
#include <Windows.h>
HRESULT foo(bool some_condition)
{
VARIANT var;
if (some_condition)
{
//...
VariantInit(&var);
//...
VariantClear(&var); // C33001
}
}