Dla kodu,Dlaczego MSVC generuje C4127 ostrzeżenie, gdy stała jest używana w "a" - C
while(1)
{
/* ..... */
}
MSVC generuje następujące ostrzeżenie.
warning C4127: conditional expression is constant
MSDN strona za ostrzeżenie sugeruje użycie for(;;)
zamiast while(1)
. Zastanawiam się, jaką korzyść daje for(;;)
i dlaczego ostrzega o stałym używaniu w while
?
Jaką flagę należy użyć na GCC, aby uzyskać takie samo ostrzeżenie?
+1 za wzmiankę o typowych błędach sygnalizacyjnych. :-) –
Kompilator jest całkiem sprytny; wystarczająco inteligentny, aby wykonywać wszystkie rodzaje magii, ale nie na tyle sprytnie, by zrozumieć, że "podczas (prawda)" nie podlega tym problemom? –