Warnung C28039
Der Typ des tatsächlichen Parameters 'operand' sollte exakt mit dem Typ 'typename' übereinstimmen.
Diese Warnung wird gemeldet, wenn ein enum
formales Element des enum
Elements nicht übergeben wurde, aber auch für andere Typen verwendet werden kann.
Da C typen austauschbar und austauschbar mit Konstanten verwendet werden kann enum
, ist es einfach, den falschen enum
Wert ohne Fehler an eine Funktion zu übergeben.
Wenn enum
der Typ eines enum
Parameters mit _Enum_is_bitflag_
Anmerkungen versehen ist, ist für Typen arithmetisch für den Parameter zulässig. Andernfalls muss der Parameter exakt den richtigen Typ aufweisen. Wenn eine Konstante streng erforderlich ist, kann auch die Warnung C28137 gelten.
Diese Regel kann auch für andere Parametertypen verwendet werden. In der Funktionsdokumentation finden Sie, warum die Typen exakt übereinstimmen müssen.