Expression Evaluator Error Messages

Number Expression Evaluator Error Message

CXX0000 no error condition
  An error has not occurred, and this message should not appear.
  You can continue debugging normally.
  Note the circumstances of the error and notify Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals.
CXX0001 exception executing user function
  The code being executed caused a general protection fault.
CXX0002 error accessing user memory
  The expression attempted to reference memory that is not allocated to the program being debugged.
CXX0003 internal error in expression evaluator
  The CodeView expression evaluator encountered an internal error.
  Note the circumstances of the error and notify Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals.
CXX0004 syntax error
  The syntax of the expression is incorrect.
  Retype the expression with the correct syntax.
CXX0005 operator not supported
  An unsupported C/C++ operator was specified in an expression.
  You can usually write an equivalent expression using supported C/C++ operators.
CXX0006 missing left parenthesis
  Unbalanced parentheses were found in the expression.
  Retype the expression with balanced parentheses.
CXX0007
  Unbalanced parentheses were found in the expression.
  Retype the expression with balanced parentheses.
CXX0008 missing double quotation mark (") at end of string
  The double quotation mark (") expected at the end of the string literal was missing.
  Retype the expression, enclosing the string literal in double quotation marks.
CXX0009 missing single quotation mark (') after character constant
  The single quotation mark (') expected at the end of the character constant was missing.
  Retype the expression, enclosing the character constant in single quotation marks.
CXX0010 missing left bracket
  The expression contains unbalanced square brackets.
  Retype the expression with balanced square brackets.
CXX0011 missing right bracket
  The expression contains unbalanced square brackets.
  Retype the expression with balanced square brackets.
CXX0012 missing left curly brace
  The expression contains an unbalanced curly brace.
  Retype the expression with balanced curly braces.
CXX0013 missing operator
  An operator was expected in the expression but was not found.
  Check the syntax of the expression.
CXX0014 missing operand
  An operator was specified without a required operand.
  Check the syntax of the expression.
CXX0015 expression too complex (stack overflow)
  The entered expression was too complex or nested too deeply for the amount of storage available to the C/C++ expression evaluator.
  Overflow usually occurs because of too many pending calculations.
  Rearrange the expression so that each component of the expression can be evaluated as it is encountered, rather than having to wait for other parts of the expression to be calculated.
  Break the expression into multiple commands.
CXX0016 constant too big
  The CodeView C/C++ expression evaluator cannot accept an unsigned integer constant larger than 4,294,967,295 (0xFFFFFFFF hexadecimal), or a floating-point constant whose magnitude is larger than approximately 1.8E+308.
CXX0017 symbol not found
  A symbol specified in an expression could not be found.
  One possible cause of this error is a case mismatch in the symbol name. Since C and C++ are case-sensitive languages, a symbol name must be given in the exact case in which it is defined in the source.
CXX0018 bad register name
  A specified register does not exist or cannot be displayed.
  CodeView can display the following registers:AXBXCXDXSPBPSIDIDSESSSCSIPFL
  When running under DOS on an 80386 machine, the 80386 option can be selected to display the following registers:EAXEDIESPCSDSEFLGSEBXEBPESSSECXESIFSEIPEDX
CXX0019 bad type cast
  The CodeView C/C++ expression evaluator cannot perform the type cast as written.
  One of the following may have occurred:

The specified type is unknown.

There were too many levels of pointer types.

For example, the type cast:

(char far * far *)h_message

cannot be evaluated by the CodeView C/C++ expression evaluator.

CXX0020 operand types bad for this operation
  An operator was applied to an expression with an invalid type.
  For example, it is not valid to take the address of a register or subscript an array with a floating-point expression.
CXX0021 struct or union used as scalar
  A structure or union was used in an expression, but no element was specified.
  When manipulating a structure or union variable, the name of the variable may appear by itself, without a field qualifier. If a structure or union is used in an expression, it must be qualified with the desired specific element.
  Specify the element whose value is to be used in the expression.
CXX0022 function call before _main
  The CodeView C/C++ expression evaluator cannot evaluate a function before CodeView has entered the function _main. The program is not properly initialized until _main has been called.
  Execute g main;p to enable function calls in expressions.
CXX0023 bad radix
  The radix specified is not recognized by the CodeView C/C++ expression evaluator. Only decimal, hexadecimal, and octal radixes are valid.
CXX0024 operation needs l-value
  An expression that does not evaluate to an l-value was specified for an operation that requires an l-value.
  An l-value is an expression that refers to a memory location and appears on the left side of an assignment statement.
  For example, buffer[count] is a valid l-value because it points to a specific memory location. The logical comparison zed != 0 is not a valid l-value because it evaluates to TRUE or FALSE, not a memory address.
CXX0025 operator needs struct/union
  An operator that takes an expression of structure or union type was applied to an expression that is not a structure or union.
  Components of class, structure, or union variables must have a fully qualified name. Components cannot be entered without full specification.
CXX0026 bad format string
  A format string was improperly specified.
  Check the syntax of the expression.
CXX0027 invalid operand
  An address operand (l-value) was expected in this expression, but some other operand was found.
  Check the syntax of the expression.
  See Help for more recent information on this error.
CXX0028 not struct/union element
  An expression of the form Struct.Member or pStruct->Member was specified, but the member is not an element of the structure.
  This error can be caused by an expression with incorrectly placed parentheses.
CXX0029 not struct pointer
  The member-selection operator (->) was applied to an expression that is not a pointer to a structure.
  Check that the parentheses within the expression are correct, or type cast the address expression to the appropriate structure pointer type.
CXX0030 expression not evaluatable
  The expression could not be evaluated as written.
  This error is frequently caused by dereferencing an invalid pointer.
  Check that the syntax of the expression is correct and that the case for each symbol matches its definition in the program.
CXX0031 expression not expandable
  The CodeView C/C++ expression evaluator encountered an internal error.
  You may be able to write an equivalent expression that can be evaluated correctly.
  Note the circumstances of the error and notify Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals.
CXX0032 divide by 0
  The expression contains a division by zero, which is illegal. This divisor may be the literal number zero, or it may be an expression that evaluates to zero.
CXX0033 error in OMF type information
  The executable file did not have a valid OMF (object module format) for debugging by CodeView.
  One of the following may have occurred:

The executable file was not created with the linker released with this version of CodeView. Relink the object code using the current version of LINK.EXE.

The executable file was not created with the high-level language released with this version of CodeView. Recompile the program with the current version of the compiler.

The .EXE file may have been corrupted. Recompile and relink the program.

CXX0034 types incompatible with operator
  The specified operand types are not legal for the operation.
  For example, a pointer cannot be multiplied by any value.
  You may need to type cast the operands to a type compatible with the operator.
CXX0035 overlay not resident
  An attempt was made to access an overlay that is not currently resident in RAM.
  Execute the program until the overlay is loaded.
CXX0036 bad context {...} specification
  This message can be generated by one of the following incorrect uses of the context resolution operator ({}):

The syntax of the context resolution operator ({}) was given incorrectly.

The syntax of the context resolution operator is:

{[function],[module],[dll]}expression

This specifies the context of expression. The operator has the same precedence and usage as a type cast.

Trailing commas can be omitted. If [function], [module], or [dll] contains a literal comma, the entire name must be enclosed in parentheses.The function name was spelled incorrectly or does not exist in the specified module or dynamic-link library.

Since C/C++ is a case-sensitive language, the case of the function name must exactly match the one found in the source. The expression evaluator ignores the CodeView case-sensitivity state set with the OC command or the Case Sensitive command in the Options menu.The module or DLL could not be found.

Check the full path name of the specified module or DLL.

CXX0037 out of memory
  The CodeView C/C++ expression evaluator ran out of memory evaluating the expression.
CXX0038 function argument count and/or type mismatch
  The specified function call does not match the prototype for the function.
  Retype the call with the correct number of arguments. Type cast each argument to match the prototype, as necessary.
CXX0039 symbol is ambiguous
  The CodeView C++ expression evaluator cannot determine which instance of a symbol to use in an expression. The symbol occurs more than once in the inheritance tree.
  You must use the scope resolution operator (::) to explicitly specify which instance to use in the expression.
CXX0040 function requires implicit conversion
  Implicit conversions involving constructor calls are not supported by the CodeView C++ expression evaluator.
CXX0041 class element must be static member or member function
  A nonstatic member of a class, structure, or union was used without specifying which instantiation of the class to use.
  Only static data members or member functions can be used without specifying an instantiation.
CXX0043 this pointer used outside member function
  The this pointer can only be used for nonstatic member functions.
CXX0044 use of _based(void) pointer requires :> operator
  A pointer based on void cannot be used directly. You must form a complete pointer using the :> operator.
CXX0045 not a function
  An argument list was supplied for a symbol in the program that is not the name of a function.
  For example, this error is generated for the expression:

queue( alpha, beta)

  when queue is not a function.
CXX0046 argument list required for member function
  An expression called a member function but did not specify any actual parameters.
CXX0047 argument list does not match a function
  An expression called a function with an actual parameter list that did not match the formal parameter list of any function with the same name defined in the program.
  Overloaded functions can be called only if there is an exact parameter match or a match that does not require the construction of an object.
CXX0048 calling sequence not supported
  A function specified in the expression uses a calling sequence not supported by the CodeView C/C++ expression evaluator. You cannot call this function in a CodeView expression.
CXX0049 obsolete OMF—please relink program
  The program used an old OMF (object module format).
  The program must be linked with LINK version 5.30 or later and packed with CVPACK version 4.0 or later.
CXX0050 left side of :: must be class/struct/union
  The symbol on the left side of the scope resolution operator (::) was not a class, structure, or union.
CXX0051 more than one overloaded symbol specified in breakpoint
  CodeView could not determine which of more than one overloaded symbol to use as a breakpoint.
CXX0052 member function not present
  A member function was specified as a breakpoint but could not be found or was not defined. This error can be caused by setting a breakpoint at a function that has been inlined.
  Recompile the file with inlining forced off (/Ob0) to set a breakpoint in this function.
CXX0053 nonfunction symbol match while binding breakpoints
  A symbol used as a breakpoint was not a function. This error can be caused by specifying a data member as a breakpoint.
CXX0054 register in breakpoint expression illegal
  A register cannot be used in a breakpoint expression.
CXX0055 ambiguous symbol in context operator
  A symbol in the context resolution operator ({}) referred to more than one symbol in the program.
  The scope resolution operator (::) may be able to resolve the ambiguity.
CXX0056 error in line number
  An invalid line number was specified.
CXX0057 no code at line number
  Code was not generated for the specified line number. It cannot be used as a breakpoint.
CXX0058 overloaded operator not found
  A class type was specified as the left operand in an expression, but an overloaded operator was not defined for the class.
CXX0059 left operand is class not a function name
  The left operand of a function call was a class name and could not be resolved to a function call. This error can be caused by omitting the name of a member function in an expression.
CXX0060 register is not available
  An expression specified a register than cannot be used.
  This error can be caused by trying to access a register that does not exist on the machine running CodeView, for example, accessing 80386-specific registers on an 8088-based machine.
CXX0061 function nesting depth exceeded
  The expression contained a function whose nesting depth was greater than the permitted limit.
  The expression should be modified to reduce the nesting depth.
CXX0062 constructor calls not supported
  An expression made a call to a constructor.
  Expressions cannot make explicit calls to constructors or make conversions that require a call to a constructor.