Microsoft KB Archive/40593

From BetaArchive Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Knowledge Base


INFO: Misspelling "Default" Gives No Error

Article ID: 40593

Article Last Modified on 7/5/2005



APPLIES TO

  • Microsoft Visual C++ 1.0 Professional Edition
  • Microsoft Visual C++ 1.5 Professional Edition
  • Microsoft Visual C++ 1.51
  • Microsoft Visual C++ 1.52 Professional Edition
  • Microsoft Visual C++ 1.0 Professional Edition
  • Microsoft Visual C++ 2.0 Professional Edition
  • Microsoft Visual C++ 2.1
  • Microsoft Visual C++ 4.0 Standard Edition
  • Microsoft Visual C++ 5.0 Standard Edition
  • Microsoft Visual C++ 6.0 Service Pack 5



This article was previously published under Q40593

It has been reported that when the keyword "default" is misspelled, the C/C++ compiler does not generate an error and the executable code does not execute the "defualt" branch in any case.

This is not a problem with the C/C++ compiler. In C and C++ any name followed by a colon (:) is a label. In a switch statement the case and default keywords are special types of label which are used by the switch statement. When the keyword "default" is spelled incorrectly, it is treated as a label. You could use a goto statement to reference the label. The switch statement, however, does not recognize it. Since a "default:" label is not required by the switch statement, no error is (or can be) generated.

NOTE: It is not good programming practice to jump to a label that is within a switch statement from outside the switch statement.


Additional query words: 8.00 9.00 9.10

Keywords: kbinfo kbcompiler KB40593