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. |