Compiler Warnung vs2008 bei level 4
-
Hallo zusammen
Habe hier was mit select gemacht, und zwar:
SOCKET sock = 0; fd_set writefds = {0}; FD_ZERO(&writefds); FD_SET(sock, &writefds); // Bei warning level 4 in vs2008 : conditional expression in constant ! ....Kann ich die waring meldung ignorieren oder muss ich mir da Gedanken machen? Denn die Warnung tritt ja nur bei warning-level 4 auf!?
-
Ich würde den Warning Level 4 immer einschalten.
Ansonsten steht es Dir ja frei per #pragma warning(Disable:...) die Warnung auszuschalten.
http://msdn.microsoft.com/en-us/library/2c8f766e(v=vs.80).aspx
-
Eine Warning auf warning-level 4 kann ein Fehler sein, muss es aber nicht.
Ich habe den Code mal selbst durchkompiliert und die gleiche Meldung bekommen. Hintergrund ist offenbar das Makro FD_SET (in winsock.h), welches eine do ... while (0) Schleife enthält. Und hier meckert natürlich der Compiler weil der bedingter Ausdruck in der while Abfrage immer konstant 0 ist und somit immer false.