BUG: CXX0030 Error Using Enumerated Type in Class

ID: Q102367


The information in this article applies to:
  • Microsoft CodeView for MS-DOS, versions 4.0, 4.01, 4.05, 4.1
  • Microsoft CodeView for Windows, versions 4.0, 4.01, 4.1
  • Microsoft Visual Workbench for Windows, version 1.0


SYMPTOMS

An attempt to display a variable in the Locals, QuickWatch, or Watch windows fails and CodeView or Visual Workbench displays the following message:

CXX0030 : Error : expression cannot be evaluated


CAUSE

The application uses a type-defined enumerated bitfield in a class type and the user attempts to display the value of a variable of that type. The CXX0030 error may not occur if you do not attempt to display it.


STATUS

Microsoft has confirmed this to be a problem in CodeView versions 4.0x and 4.1 for MS-DOS and Windows and in Visual Workbench version 1.0 for Windows.

This is not a problem in CodeView version 4.25 for Win32s.


MORE INFORMATION

The following code example demonstrates this problem.

Sample Code


/*
 * Compiler options needed: /Zi /Od /f-
 */ 

#include <iostream.h>
typedef enum
{
   T1
} TENUM;

class TEST
{
public:
   TEST();
   TENUM linkstate:8;
};

TEST::TEST()
{
   linkstate = T1;
}

TEST *port;
void main(void)
{
   port = new TEST;
   // NOTE: Must refer to linkstate for CXX0033 error to occur.
   port->linkstate;
   delete port;
} 

Additional query words: 4.00 4.10

Keywords : kb16bitonly
Version : :4.0,4.01,4.05,4.1; WINDOWS:1.0
Platform : WINDOWS
Issue type :


Last Reviewed: October 27, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.