Предупреждение C26457
(void)
не следует использовать для пропуска возвращаемых значений, вместо этого используйте "std::ignore =
" (es.48)
Замечания
Отрывок из основного руководства C++ ES.48:
Никогда не приводится к
(void)
пропуску возвращаемого[[nodiscard]]
значения. Если вы намеренно хотите отменить такой результат, сначала подумайте, является ли это действительно хорошей идеей (обычно есть хорошая причина автор функции или возвращаемого типа, используемого[[nodiscard]]
в первую очередь). Если вы по-прежнему считаете, что это уместно, и ваш рецензент кода согласен, используйтеstd::ignore =
для отключения предупреждения, которое является простым, переносимым и легким для жадности.
Имя анализа кода: USE_STD_IGNORE_INSTEAD_OF_VOID_CAST
Пример
Используйте std::ignore
вместо приведения void
в :
struct S{};
[[nodiscard]] S getS();
void function() {
(void) getS(); // C26457
std::ignore = getS(); // OK
}