Freigeben über


C28717

Warnung C28717: Ungültiger VARIANT-Typ

Das vt-Feld einer VARIANT-Struktur kann nur bestimmte Werte annehmen. Das Zuweisen eines anderen Werts ist ein Fehler.

Das vt-Feld einer VARIANT - oder VARIANTARG-Struktur kann nur die folgenden Werte annehmen (möglicherweise durch VT_BYREF und/oder VT_ARRAY ausgelöst): VT_EMPTY, VT_NULL, VT_I2, VT_I4, VT_R4, VT_R8, VT_CY, VT_DATE, VT_BSTR, VT_DISPATCH, VT_ERROR, VT_BOOL, VT_VARIANT, VT_DECIMAL, VT_RECORD, VT_UNKNOWNVT_I1, VT_UI1, VT_UI2, VT_UI4, VT_INT, VT_UINT (VT_EMPTY und VT_NULL können nicht mit VT_ARRAY kombiniert werden).

Beispiel

PREfast meldet die Warnung für das folgende Beispiel.

VARIANT var;
var.vt = VT_SAFEARRAY | VT_INT;

Im folgenden Beispiel wird der Fehler vermieden.

VARIANT var;
var.vt = VT_ARRAY | VT_INT;