c++ - Let the lauding continue ...
- Matthew Wilson (25/25) Jun 11 2003 Another nice one that I can never get any version of VC++ to deal with
- Heinz Saathoff (7/36) Jun 12 2003 In this case it's obvious that x is initialized. But in general it might...
- Walter (6/11) Jun 12 2003 DMC++ only issues the warning if it can prove that the variable is
Another nice one that I can never get any version of VC++ to deal with correctly bool bCorrect = true; int x; switch(something) { default: bCorrect = false; break; case ...: x = 1; break; case ...: x = 2; break; case ...: x = 3; break; } if(bCorrect) { y = x; // VC++ warns that x may be used without having been initialised. Pah! } DMC++ (along with others) handles this one nicely
Jun 11 2003
Matthew Wilson schrieb...Another nice one that I can never get any version of VC++ to deal with correctly bool bCorrect = true; int x; switch(something) { default: bCorrect = false; break; case ...: x = 1; break; case ...: x = 2; break; case ...: x = 3; break; } if(bCorrect) { y = x; // VC++ warns that x may be used without having been initialised. Pah! } DMC++ (along with others) handles this one nicelyIn this case it's obvious that x is initialized. But in general it might not be so easy for a compiler to detect this. BTW, some warnings about uninitialized variables are only issued when the files are compiled with optimization enabled. Without optimizations the compiler does not detect these bugs. - Heinz
Jun 12 2003
"Heinz Saathoff" <hsaat bre.ipnet.de> wrote in message news:MPG.19524b67e8ac27a99896c2 news.digitalmars.com...In this case it's obvious that x is initialized. But in general it might not be so easy for a compiler to detect this.DMC++ only issues the warning if it can prove that the variable is uninitialized, i.e. that there is *no* path that initializes it.BTW, some warnings about uninitialized variables are only issued when the files are compiled with optimization enabled. Without optimizations the compiler does not detect these bugs.The information to detect this is gathered as a side effect of the optimization process.
Jun 12 2003