Поделиться через


C28039

Предупреждение C28039: Тип фактического параметра <операнд> должен в точности совпадать с типом <имя_типа>

Это предупреждение обычно появляется, когда формальное значение перечисления не является членом перечисления, но может также использоваться и для других типов.

Поскольку в языке C разрешено использовать перечисления взаимозаменимо и взаимозаменимо с константами, то легко передать неверное значение перечисления функции без ошибки.

Для типов перечисления, если тип параметра перечисления объявляется с _Enum_is_bitflag_, то с данным параметром разрешены арифметические действия.В противном случае параметр должен иметь в точности правильный тип.Предупреждение C28137 также может появиться, если строго требуется константа.

Это правило может использоваться и для других типов параметров; см. документацию по функциям, почему типы должны точно совпадать.