Uyarı C26457
(void)
dönüş değerlerini yoksaymak için kullanılmamalıdır, bunun yerine 'std::ignore =
' kullanın (es.48)
Açıklamalar
C++ Çekirdek Kılavuzu ES.48'den alıntı:
Dönüş değerini yoksaymak
[[nodiscard]]
için hiçbir zaman 'a(void)
dönüştürmeyin. Böyle bir sonucu kasıtlı olarak atmak istiyorsanız, önce bunun gerçekten iyi bir fikir olup olmadığını iyice düşünün (genellikle işlevin yazarının veya ilk başta kullanılan[[nodiscard]]
dönüş türünün iyi bir nedeni vardır). Hala uygun olduğunu düşünüyorsanız ve kod gözden geçireniniz bunu kabul ediyorsa, basit, taşınabilir ve kolay greplenen uyarıyı kapatmak için kullanınstd::ignore =
.
Kod analizi adı: USE_STD_IGNORE_INSTEAD_OF_VOID_CAST
Örnek
için atama void
yerine kullanınstd::ignore
:
struct S{};
[[nodiscard]] S getS();
void function() {
(void) getS(); // C26457
std::ignore = getS(); // OK
}