INFO: Misspelling "Default" Gives No Error (40593)
The information in this article applies to:
- Microsoft Visual C++ for Windows, 16-bit edition 1.0
- Microsoft Visual C++ for Windows, 16-bit edition 1.5
- Microsoft Visual C++ for Windows, 16-bit edition 1.51
- Microsoft Visual C++ for Windows, 16-bit edition 1.52
- Microsoft Visual C++, 32-bit Editions 1.0
- Microsoft Visual C++, 32-bit Editions 2.0
- Microsoft Visual C++, 32-bit Editions 2.1
- Microsoft Visual C++, 32-bit Editions 4.0
- Microsoft Visual C++, 32-bit Editions 5.0
- Microsoft Visual C++, 32-bit Editions 6.0
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.
| Modification Type: | Minor | Last Reviewed: | 7/5/2005 |
|---|
| Keywords: | kbCompiler kbinfo KB40593 |
|---|
|