Compiler Error Messages EDC3300 - EDC3399

 
EDC3300
The declaration of "&1" must initialize the const member "&2".

Recovery

Initialize the member in the declaration.

EDC3301
The declaration of "&1" must initialize the reference member "&2".

Recovery

Initialize the member in the declaration.

EDC3302
"&1" is not allowed as a function return type. There may be a ";" missing after a "}".

A class or enum definition must not be specified as a function return type. A semicolon may be missing after the definition.

Recovery

Ensure that a semicolon is not missing after the definition or change the return type.

EDC3303
"&1" cannot be a base of "&2" because "&3" contains a member function called "&2".

A class cannot inherit a function that has the same as the class.

Recovery

Change the name of either the base class or the inherited function.

EDC3304
Forward declaration of the enumeration "&1" is not allowed.

The declaration of an enumeration must contain its member list.

Recovery

Fully declare the enumeration.

EDC3305
Unrecognized value "&1" specified with option "&2".

Recovery

Remove the unrecognized value.

EDC3306
The previous message applies to argument &1 of function "&2".

The previous message applies to the specified argument number. This message does not indicate another error or warning, it indicates which argument of the function call is the subject of the previous message.

EDC3307
Unrecognized pragma "&1".

The pragma is not supported by this compiler.

Recovery

Change or remove the #pragma directive.

EDC3308
The nested class object "&1" needs a constructor so that its &2 members can be initialized.

Recovery

Create a constructor for the nested class object.

EDC3309
The integer constant is out of range.

You have provided an integer constant that is out of range. For the range of integer constants check limits.h.

Recovery

Ensure the integer constant is in range.

EDC3310
The floating point constant is out of range.

You have provided a floating point constant that is out of range. For the range of floating point constants check float.h.

Recovery

Ensure the floating point constant is in range.

EDC3311
The &1 member "&2" must be initialized in the constructor's initializer list.

Using the constructor's member initializer list is the only way to initialize nonstatic const and reference members.

Recovery

Initialize the member in the constructor's initializer list.

EDC3312
Unexpected end of file :colon. newline expected.

The file did not end with a new-line character.

Recovery

Ensure the file ends with a new-line character.

EDC3313
Constructors and conversion functions are not considered when resolving an explicit cast to a reference type.

You cannot resolve an explicit cast to a reference type using constructors or conversion functions.

Recovery

Cast the type to a temporary type and then take the reference to it.

EDC3314
A character string literal cannot be concatenated with a wide string literal.

A string that has a prefix L cannot be concatenated with a string that is not prefixed.

Recovery

Ensure both strings have the same prefix, or no prefix at all.

EDC3315
All members of type "&1" must be explicitly initialized with all default arguments specified.

Default arguments for member functions are not checked until the end of the class definition. Default arguments for member functions of nested classes are not semantically checked until the containing class is defined. A call to a member function must specify all of the arguments before the default arguments have been checked.

Recovery

Specify all default arguments with all members of the type.

EDC3316
The nested class "&1" is undefined and cannot be defined later.

A class must be defined in the scope that it was introduced.

Recovery

Define the class in the scope in which it was introduced.

EDC3317
The address of an overloaded function can be taken only in an initialization or an assignment.

Recovery

Ensure the address of an overloaded function is used on an initialization or an assignment, or remove the expression.

EDC3319
The mangled name for "&1" contains a compiler-generated name. It will not be visible from other compilation units.

One of the arguments to the function was given a compiler-generated name. This name could be different in offer compilation units.

Recovery

Provide a type name for the argument that the compiler generated a name for.

EDC3320
Syntax error - found "&1 &2" :colon. "&1" is not a type name.

The compiler detected a non-type symbol where a type is required. A type must be used to declare an object.

Recovery

Change to a type name or remove the expression.

EDC3321
A temporary of type "&1" is needed :colon. "&2" is an abstract class.

The compiler has determined that it must use a temporary to store the result of the expression, but the result is an abstract base type. An abstract base type cannot be used to create an object.

Recovery

Change the type of the result.

EDC3322
Nesting level of template class definitions may cause the compiler to fail.

Template class definitions are nested in such a way that the compiler may not be able to continue.

Recovery

Reduce the number of nesting levels of template class definitions.

EDC3323
"&1" hides pure virtual function "&2" in the nonvirtual base "&3".

The pure virtual function in a nonvirtual base cannot be overridden once it has been hidden.

Recovery

Make the pure virtual function visible, or make the base it is derived from virtual.

EDC3324
The class qualifier "&1" for "&2" must be a template class that uses the template arguments.

A non-class template can only declare a global function or a member of a template class. If it declares a member of a template class, the template class arguments must include at least one of the non-class template arguments.

Recovery

Change the template declaration so that it either declares a global function or a member of a template class that uses the non-class template arguments.

EDC3325
The class "&1" cannot be passed by value because it does not have a copy constructor.

The compiler needs to generate a temporary to hold the return value of the function. To generate the temporary object, a copy constructor is needed to copy the contents of the object being returned into the temporary object.

Recovery

Create a copy constructor for the class or change the argument to pass by value.

EDC3326
The previous &1 messages show situations that could arise if the corresponding template definitions were instantiated.

During the processing of a class template, possible errors were found in the class declaration. These errors may occur when the template is instantiated.

Recovery

Ensure that the errors will not occur when the template is instantiated.

EDC3327
The previous message shows a situation that could arise if the corresponding template definition was instantiated.

During the processing of a class template, a possible error was found in the class declaration. This error may occur when the template is instantiated.

Recovery

Ensure that the error will not occur when the template is instantiated.

EDC3328
The output file name "&1" cannot be the same as the input file name.

The compiler detected a condition where the name of the input source file is the same as an output file being generated by the compiler.

Recovery

Change either the input file name or the output file name.

EDC3329
The external variable "&1" cannot be defined at block scope.

The compiler has detected the declaration of an automatic variable that was previously defined as having external linkage.

Recovery

Move, remove, or change the external variable definition.

EDC3330
"&1" cannot have an initializer list.

A member function that is not a constructor is defined with an initializer list.

Recovery

Remove the initializer list.

EDC3331
Return value of type "&1" is expected.

No return value is returned from the current function but the function is expecting a non-void return value.

Recovery

Ensure a value is returned, or change the return type of the function to void.

EDC3332
"&1" bypasses initialization of "&2".

It is invalid to jump past a declaration with an explicit or implicit initializer unless the declaration is in an inner block that is also jumped past.

Recovery

Enclose the initialization in a block statement.

EDC3333
"&1" is being redeclared as a member function. It was originally declared as a data member.

The template redeclares a data member of a class template as a member function.

Recovery

Change the original declaration of the variable to a member function, or change the redeclaration of the variable to a data member.

EDC3334
"&1" is being redeclared as a non-function member or has syntax errors in its argument list.

The template redeclares a member function of a class template as a data member. There may be syntax errors in the declaration.

Recovery

Change one of the declarations if necessary.

EDC3335
A string literal cannot be longer than &1 characters.

The compiler limit for the length of a string literal has been exceeded. The string literal is too long for the compiler to handle.

Recovery

Specify a shorter string literal.

EDC3336
A wide string literal cannot be longer than &1 characters.

The compiler limit for the length of a wide string literal has been exceeded. The wide string literal is too long for the compiler to handle.

Recovery

Specify a shorter string literal.

EDC3337
The definition of "&1" is not contained in an include file. It may be needed for automatic generation of template functions.

The definition of the class can only be used during automatic generation of template functions if it is contained in an include file.

Recovery

Add the definition to an include file.

EDC3338
Invalid "multibyte character sequence character" (MBCS) character.

The compiler has detected a multibyte character sequence that it does not recognize.

Recovery

Replace the "multibyte character sequence character" (MBCS) character.

EDC3339
"&1" is an undefined pure virtual function.

The user tried to call a member function that was declared to be a pure virtual function.

Recovery

Remove or define the function as pure virtual.

EDC3340
The presence of the "#line" directive in source files compiled with "-a" or "-ae" may result in the "tcov" program behaving unpredictably.

Recovery

Remove the "#line" directive or recompile without the "-a" or "-ae" option.

EDC3341
Missing value for option "&1".

The option was messing a required parameter. See the "Users Guide" for details on the option.

Recovery

Add a value for the option.

EDC3342
Template "&1" cannot be instantiated because the actual argument for formal argument "&2" has more than one variant.

The argument is a function template or an overloaded function with two or more variants. The compiler cannot decide which variant to choose to bind to the argument type.

Recovery

Change the formal template argument or remove the extra variants.

EDC3343
More than 32760 files in a compilation unit.

The compiler limit has been exceeded for the number of include files allowed in a compilation unit.

Recovery

Reduce the number of files.

EDC3344
-qflttrap=enable specified, but no floating point traps are being detected.

Recovery

Remove -qflttrap=enable option.

EDC3345
Pointer to a built-in function not allowed.

Because you cannot take the address of a built-in function, you cannot declare a pointer to a built-in function.

Recovery

Remove the pointer.

EDC3346
Built-in function "&1" not recognized.

The function declared as a built-in is not recognized by the compiler as being a built-in function.

Recovery

Ensure the function is a built-in function or remove the built-in keyword from the declaration.

EDC3347
"&1" is not supported.

Recovery

Remove the operator from the expression.

EDC3348
Function calls are not supported.

You can only generate this message in the debugger, when you use an expression that includes a function call.

Recovery

Remove function calls from the expression.

EDC3349
The expression is too complicated.

Recovery

Simplify the expression.

EDC3350
Evaluation of the expression requires a temporary.

Recovery

Change the expression so that a temporary object is not required.

EDC3351
"&1" is an overloaded function.

The identifier refers to an overloaded function with two or more variants. The compiler requires a prototype argument list to decide which variant to process.

Recovery

Specify a prototype argument list or remove variants of the overloaded function.

EDC3352
Identifier or function prototype expected.

The symbol must be the name of a data object, the name of a function with no variants, or a function or operator name followed by a parenthesized argument list.

Recovery

Ensure the symbol is either the name of a data object, the name of a function with no variants, or a function or operator name followed by a parenthesized argument list.

EDC3353
"&1" does not have external linkage.

The pragma directives #map, #import, and #export can only be applied to objects or functions that are external.

Recovery

Add or remove the #pragma directive.

EDC3354
"&1" has already been mapped.

Only one map name may be given to any object or function.

Recovery

Change one of the map names.

EDC3356
Invalid option with #pragma.

The option specified for the #pragma directive is not valid.

Recovery

Remove or change the option.

EDC3358
The "&1" option is not allowed with the "&2" option.

The specified options cannot be used together. The first option specified in the message is ignored.

Recovery

Remove one of the options.

EDC3359
The result of string concatenation is a non-Pascal string.

A Pascal string was concatenated to a non-Pascal string. The result of the concatenation is a non-Pascal string.

Recovery

Ensure both strings are either Pascal or non-Pascal.

EDC3360
The result of string concatenation is a Pascal string.

A non-Pascal string was concatenated to a Pascal string. The result of the concatenation is a Pascal string.

Recovery

Ensure both strings are either Pascal or non-Pascal.

EDC3361
A Pascal string is too long; the length has been set to 255.

A Pascal string is longer than 255 bytes. The length byte has been set to 255, but the rest of the string is left intact.

Recovery

Shorten the Pascal string.

EDC3362
Compiler-generated name "&1" overridden, may cause link problems.

The specified object has a special compiler-generated external name, but appears in a #pragma map directive that would override that name. Using #pragma map to replace the name may cause link errors or prevent argument type checking across compilation units.

Recovery

Remove the #pragma map directive that overrides the compiler-generated external name.

EDC3363
The bit-field length must not be negative.

The bit-field length must be a non-negative integer value.

Recovery

Change the bit-field length to a non-negative integer value.

EDC3364
A zero-length bit-field must not have a name.

A named bit-field must have a positive length; a zero-length bit-field is used for alignment only, and must not be named.

Recovery

Remove the name from the zero-length bit-field.

EDC3365
The bit-field is too small; &1 bits are needed for "&2".

The bit-field length is smaller than the number of bits needed to hold all values of the enum.

Recovery

Increase the bit-field length.

EDC3366
The bit-field is larger than necessary; only &1 bits are needed for "&2".

The bit-field length is larger than the number of bits needed to hold all values of the enum.

Recovery

Decrease the bit-field length.

EDC3367
An object declared as compatible with 16-bit applications is larger than 64K.

The name of the object, or a typedef name used to declare it, appeared in a #pragma seg16 directive, indicating it can be used in 16-bit code and will not cross 64K boundaries. However, because the object is larger than 64K, it will cross the 64K boundary.

Recovery

Remove the name of an object in the #pragma seg16 directive.

EDC3370
A template friend declaration may only declare, not define, a class or function.

The class or function declared in the template friend declaration must be defined at file scope.

Recovery

Remove the definition from the template friend declaration.

EDC3371
The function "&1" must not be declared "&2" at block scope.

There can be no static or inline function declarations at block scope.

Recovery

Move the function so that it is not defined at block scope.

EDC3372
The previous &1 messages apply to function argument &2.

The previous message applies to the specified argument number. This message does not indicate another error or warning, it indicates which argument of the function call is the subject of the previous message.

EDC3373
The previous &1 messages apply to argument &2 of function "&3".

The previous message applies to the specified argument number. This message does not indicate another error or warning, it indicates which argument of the function call is the subject of the previous message.

EDC3374
"&1" is not a static member of "&2".

Non-static data members cannot be defined outside the class definition.

Recovery

Make the member a static member or move it into the class definition.

EDC3375
The initializer must be enclosed in braces.

Array element initializers must be enclosed in braces.

Recovery

Put braces around the initializer.

EDC3376
union "&1" has multiple initializers associated with its constructor "&2".

A union can only contain one member object at any time, and therefore can be initialized to only one value.

Recovery

Remove all but one of the initializers.

EDC3377
"&1" is declared on line &2 of "&3".

This is an informational message; no response is necessary.

EDC3378
"&1" is defined on line &2 of "&3".

This is an informational message; no response is necessary.

EDC3379
Maximum number of error messages exceeded.

Recovery

Correct the error and recompile.

EDC3380
You cannot override virtual function "&1" because "&3" is an ambiguous base class of "&2".

The compiler must generate code to convert the actual return type into the type that the overridden function returns (so that calls to the original overridden function is supported). However, the conversion is ambiguous.

Recovery

Clarify the base class.

EDC3381
The operands have type "&1" and "&2".

This message provides more information when the array operator was used with invalid types. The message tells the user what the types were used with the array operator.

EDC3382
"&1" is defined in this compilation and cannot be imported.

Only externally-defined functions can be imported.

Recovery

Remove the directive that imports the function or define the function externally.

EDC3383
"&1" is not defined in this compilation and cannot be exported.

Only functions defined in this compilation can be exported.

Recovery

Remove the directive that exports the function or define the function in this compilation unit.

EDC3384
"&1" is already imported or exported. Duplicate directive ignored.

You can only import or export a function once.

Recovery

Remove one of the directives.

EDC3385
Macro "&1" has been invoked with an incomplete argument for parameter "&2".

The terminating "," or ")" for the argument was not found.

Recovery

Ensure the terminating "," or ")" is in the argument.

EDC3386
The enum cannot be packed to the requested size of &1.

The enum type is too large to fit in the storage requested with the /Su option.

Recovery

Redefine the storage to a larger size by specifying a larger number for /Su option.

EDC3387
"&1" is not initialized until after the base class is initialized.

First, the base classes are initialized in declaration order, then the members are initialized in declaration order, then the body of the constructor is executed.

Recovery

Do not reference the class member in the base class initializer.

EDC3388
The expression to the left of the "&1" operator is a relational expression ("&2"). The "&3" operator may have been intended.

The compiler has detected the mixing of relational and bitwise operators in what was determined to be a conditional expression.

Recovery

Ensure the correct operator is being used.

EDC3389
The expression to the left of the "&1" operator is a logical expression ("&2"). The "&3" operator may have been intended.

The compiler has detected the mixing of relational and bitwise operators in what was determined to be a conditional expression.

Recovery

Ensure the correct operator is being used.

EDC3390
The expression to the left of the "&1" operator is an equality expression ("&2"). The "&3" operator may have been intended.

The compiler has detected the mixing of relational and bitwise operators in what was determined to be a conditional expression.

Recovery

Ensure the correct operator is being used.

EDC3391
The expression to the right of the "&1" operator is a relational expression ("&2"). The "&3" operator may have been intended.

This message is generated by the /Wcnd option. This option warns of possible redundancies or problems in conditional expressions involving relational expressions and bitwise operators.

Recovery

Ensure the correct operator is being used.

EDC3392
The expression to the right of the "&1" operator is a logical expression ("&2"). The "&3" operator may have been intended.

This message will be generated when /Wcnd option is specified, in order to warn possible redundancies or problems in conditional expressions involving logical expressions and bitwise operators.

Recovery

Ensure the correct operator is being used.

EDC3393
The expression to the right of the "&1" operator is an equality expression ("&2"). The "&3" operator may have been intended.

This message will be generated when /Wcnd option is specified, in order to warn possible redundancies or problems in conditional expressions involving equality expressions and bitwise operators.

Recovery

Ensure the correct operator is being used.

EDC3394
Assignment to the "this" pointer is not allowed.

The "this" pointer is a const pointer and cannot be modified.

Recovery

Remove the assignment to the "this" pointer.

EDC3395
"&1" must not have any arguments.

Recovery

Remove all arguments from the special member function.

EDC3396
The second operand to the "offsetof" operator is not valid.

The second operand to the "offsetof" operator must consist only of "." operators and "[]" operators with constant bounds.

Recovery

Remove or change the second operand.

EDC3397
"&1" is a member of "&2" and cannot be used without qualification.

The specified name is a class member, but no class qualification has been used to reference it.

Recovery

Use the scope operator ( :colon. :colon.) to qualify the name.

EDC3398
"&1" is undefined. Every variable of type "&2" will assume "&1" has no virtual bases and no multiple inheritance.

The definition of the class is not given but the compiler must implement the pointer to member. It will do so by assuming the class has at most one nonvirtual base class.

Recovery

If this assumption is incorrect, define the class before declaring the member pointer.

EDC3399
"&1" is undefined. The delete operator will not call a destructor.

The definition of the class is not given so the compiler does not know whether the class has a destructor. No destructors will be called.

Recovery

Define the class.

 


Summary of Compiler Error Messages