BUG: Compiler Fails Syntax Check of Extra Comma in enum List (133179)



The information in this article applies to:

  • Microsoft Visual C++ 1.0
  • Microsoft Visual C++ 1.5
  • Microsoft Visual C++ 1.51
  • Microsoft Visual C++ 1.52
  • Microsoft Visual C++ 2.0
  • Microsoft Visual C++ 2.1
  • Microsoft Visual C++ 2.2
  • Microsoft Visual C++ 4.0
  • Microsoft Visual C++ 4.1
  • Microsoft Visual C++ 4.2
  • Microsoft Visual C++, 32-bit Enterprise Edition 5.0
  • Microsoft Visual C++, 32-bit Enterprise Edition 6.0
  • Microsoft Visual C++, 32-bit Professional Edition 5.0
  • Microsoft Visual C++, 32-bit Professional Edition 6.0
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
  • Microsoft Visual C++ .NET (2002)
  • Microsoft Visual C++ .NET (2003)

This article was previously published under Q133179

SYMPTOMS

The compiler syntax checker does not detect the presence of a trailing comma in an enum list declaration.

RESOLUTION

Do not use a comma at the end of an enum list declaration.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

An extra comma at the end of an initializer in braces as in the following is allowed, however, it should not be allowed in enum lists:
   { ... , },
				

Sample Code to Demonstrate Problem

   /* Compile options needed: None
   */ 

   enum enmX { ka =0, kb = 1, };   // No error or warning in this line
   void main(void){}
				

Modification Type:MinorLast Reviewed:7/5/2005
Keywords:kbBug kbCompiler kbpending KB133179