C28039
upozornění C28039: typ skutečného parametru <operand> by se měl přesně shodovat s typem <název typu>
Toto upozornění je obvykle generováno v případě, že formálnímu výčtu nebyl předán člen výčtu, ale může být použito i pro jiné typy.
Jelikož jazyk C povoluje zaměnitelnost výčtů mezi sebou a zaměnitelnost výčtu s konstantami, je snadné předat funkci nesprávný výčet, aniž by to způsobilo chybu.
Je-li v případě výčtových typů označen typ výčtového parametru poznámkou _Enum_is_bitflag_, jsou povoleny aritmetické operace s parametrem.V opačném případě musí být parametr přesně správného typu.Je-li přísně vyžadována konstanta, může také platit upozornění C28137.
Toto pravidlo lze použít také pro ostatní typy parametrů; informace o tom, proč se typy musí přesně shodovat, naleznete v dokumentaci funkce.