Compiler Error Messages EDC3400 - EDC3499

 
EDC3400
Label "&1" is undefined.

The specified label is used but is not defined.

Recovery

Define the label before using it.

EDC3401
The initializer for enumerator "&1" must be an integral constant expression.

The value of an enumerator must be a constant expression that is promotable to a signed int value. A constant expression has a value that can be determined during compilation and does not change during program execution.

Recovery

Change the initializer to an integral constant expression.

EDC3402
Static member template encountered

Templates for static data members are only partially supported, and may cause linker errors if they are overridden by explicit definitions, or if they occur in library objects. For more details, see the help on using templates in C++ programs.

Recovery

Ensure that you observe the restrictions listed in the Programming Guide.

EDC3403
Overriding virtual function "&1" may not return "&2" because class "&3" has multiple base classes or a virtual base class.

Contravariant virtual functions are supported only for classes with single inheritance and no virtual bases.

Recovery

Ensure the class has single inheritance and no virtual bases.

EDC3404
Virtual function "&1" is not a valid virtual function override because "&3" is an inaccessible 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 target type is inaccessible to the overriding function.

Recovery

Make the base class accessible.

EDC3405
"&1" is a member of &2 classes. To reference one of these members, "&3" must be qualified.

The class member specified is defined in more than one class nested within the base class and cannot be referenced from the base class if it is not qualified. This message is generated by the /Wund option.

Recovery

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

EDC3406
"&1" is a member of "&2".

This message will be invoked with /Wund option when UNQUALIFIED_MEMBER message (about unqualified members) is generated. This message tells you about the member data and the class it belongs to.

EDC3407
"&1" is not the name of a function.

A function name is required in this context. The specified name has been declared but it is not the name of a function.

Recovery

Ensure the name is the correctly-spelled name of a function.

EDC3408
The value given for the "#pragma priority" is in range reserved for the system.

#pragma priority values less than -2147482624 are reserved for system purposes.

Recovery

Change the #pragma priority value so that it is greater than -2147482624.

EDC3409
Priority values in successive "#pragma priority" statements must increase.

The current priority cannot be higher than the priority specified in the previous #pragma priority statement. As the priority value increases with each #pragma priority directive, the priority level decreases.

Recovery

Ensure priority values increase with each #pragma priority statements.

EDC3410
Initialization or termination done before first "#pragma priority" statement.

Static objects should not be initialized or terminated before the first #pragma priority directive before the first #pragma priority.

Recovery

Ensure initialization or termination follows the first "#pragma priority" statement.

EDC3411
"&1" is not a valid ILE pointer type.

The pointer type named in the directive is not one of the ILE pointer type.

Recovery

Change to a correctly-spelled ILE pointer type.

EDC3412
"&1" has not been declared before the pragma pointer directive.

The first parameter of the #pragma pointer directive must be defined as a typedef of a pointer to void before it can be named in the #pragma pointer directive.

Recovery

Declare the typedef before the pragma pointer directive.

EDC3413
"&1" is not a typedef name.

The identifier named as the first parameter of the directive is not a typedef.

Recovery

Change the identifier to a correctly-spelled typedef name.

EDC3414
"&1" is not a void pointer.

The typedef name must be a typedef of void pointer.

Recovery

Change the name to a typedef of void pointer.

EDC3415
"&1" has been used in a declaration, the pragma is ignored.

The typedef name has been used in a declaration before the pragma pointer directive occurs.

Recovery

Move the declaration so that is appears before the pragma pointer directive.

EDC3416
The option "enum" is not allowed in the middle of a declaration of an enum. This option is ignored.

#pragma options with the option enum (#pragma options enum=) cannot be specified within an enumeration declaration.

Recovery

Remove the enum option from the declaration.

EDC3417
Enum type "&1" cannot contain both negative and unsigned values.

The enumerator type values should fit into an integer. Specifying both unsigned and negative values will exceed this limit.

Recovery

Remove the negative or unsigned values.

EDC3418
A conflicting #pragma alloc_text or #pragma code_seg was previously supplied for function &1.

A different code segment for the function has been previously specified in the #pragma alloc_text or #pragma code_seg directive.

Recovery

Change or remove the current code segment of the function in the #prgama alloc_text directive or remove the conflicting #pragma code_seg.

EDC3419
Syntax error in directive - expected "&1" and found "&2".

A syntax error was found during preprocessing. The message identifies what the compiler expected and what it actually found.

Recovery

Correct the syntax error.

EDC3420
Ordinal value on #pragma import or export must be in range 0 to 65535.

The ordinal value specified in a #pragma import or #pragma export directive must be a positive number within the range of short integer values.

Recovery

Change the ordinal value so that it is within the range.

EDC3421
#pragma reg_killed_by may not be used with overloaded function name &1.

(This is an undocumented second level message, do not publish it.) The overloaded functions cannot use #pragma reg_killed_by for a set of instructions specified for the function.

Recovery

Remove the #pragma reg_killed_by.

EDC3422
Functions callable from 16-bit code may not have pass-by-value aggregate parameters.

If the calling function has a 16-bit calling convention (_Far16 _Cdecl, _Far16, _Pascal, or _Far16 _Fastcall), the function being called should not have an aggregate parameter passed by value.

Recovery

Remove the by-value aggregate parameters.

EDC3423
Functions callable from 16-bit code may not return an aggregate by value.

If the calling function has a 16-bit calling convention (_Far16 _Cdecl, _Far16, _Pascal, or _Far16 _Fastcall), the function being called should not have an aggregate parameter passed by value.

Recovery

Remove the return of an aggregate by value.

EDC3424
#pragma mc_func can only be used at file scope.

(This is an undocumented second level message, do not publish it.) The instruction specified with the #pragma mc_func is outside the file scope.

Recovery

Move #pragma mc_func so that it is in file scope.

EDC3425
Instruction sequence for #pragma mc_func contains the character "&1" that is not a hexadecimal digit.

(This is an undocumented second level message, do not publish it.) An incorrect hexadecimal value has been specified with the "#pragma mc_func" directive.

Recovery

Ensure all characters in the instruction sequence for #pragma mc_func are hexadecimal digits.

EDC3426
Instruction sequence for #pragma mc_func would result in an incomplete byte.

(This is an undocumented second level message, do not publish it.) The instruction sequence specified for #pragma mc_func is not in pairs.

Recovery

Change the instruction sequence so that it would result in a complete byte.

EDC3427
Cannot take the address of the machine-coded function "&1".

Because the function is machine-coded, you cannot take its address.

Recovery

Remove the reference to that function.

EDC3428
#pragma mc_func may not be used with overloaded function name &1.

(This is an undocumented second level message, do not publish it.) pragma mc_func cannot specify a set of instructions for overloaded functions.

Recovery

Remove the #pragma mc_func.

EDC3429
Incorrect #pragma ignored.

The pragma is not supported by this compiler or the syntax of this pragma is invalid.

Recovery

Correct or remove the #pragma.

EDC3431
Invalid pragma name "&1" ignored.

The pragma specified is not valid. The compiler ignores it.

Recovery

Remove the invalid pragma name.

EDC3432
Code pages "&1" and "%2" are incompatible.

Characters in the ASCII code page &1 cannot be translated to characters in the EBCDIC code page &2. They are either incompatible code pages, or not supported.

Recovery

Change the code page specification.

EDC3433
An initializer is not allowed for the nonvirtual function "&1".

The declaration of a pure virtual function must include the keyword virtual.

Recovery

Remove the initializer.

EDC3434
Function "&1" has not been declared before the pragma descriptor directive.

A function must be declared before it appears in the pragma descriptor directive.

Recovery

Declare the function before the pragma descriptor directive.

EDC3436
Operational descriptors for type "&1" are not supported.

The compiler has detected an unknown type specified as the operational descriptor. SV :colon. &1 is a C++ type

EDC3437
Function cannot have C++ or OS linkage.

The pragma does not expect the function to have a C++ linkage or OS linkage.

Recovery

Remove the C++ or OS linkage on the function declaration.

EDC3438
"void" expected, but found "&1"; operational descriptor for return type not currently supported.

Compiler expected a void token but found something else instead.

Recovery

Ensure the correct token is found.

EDC3439
More parameters specified than in the function prototype.

The number of parameters found are more than were specified in the function prototype.

Recovery

Ensure the number of parameters is the same as in the function prototype.

EDC3441
"&1" is not the name of a function.

The name is not a function name or the name is mis-spelled.

Recovery

Change to the correctly-spelled name of a function.

EDC3442
The "&1" variable has not been declared.

The variable has not been declared before use.

Recovery

Declare the variable.

EDC3443
Expected 0 but found invalid value.

The compiler expected a zero value but found something else instead.

Recovery

Ensure 0 is found.

EDC3445
Invalid pragma parameter .

The parameter specified in the pragma is invalid or the pragma does not expect a parameter.

Recovery

Remove the pragma parameter.

EDC3446
Invalid operational descriptor specifier &1.

The operational descriptor specifier name is invalid or the name is mis-spelled.

Recovery

Remove the operational descriptor.

EDC3447
"&1" is not the name of a valid object type.

An invalid object type is found by the compiler.

Recovery

Change to a valid object type.

EDC3448
class1 is not a valid constant expression.

The compiler has detected that class1 is not a valid constant expression.

Recovery

Change or remove class1 to a constant expression.

EDC3449
class2 is not a valid constant expression.

The compiler has detected that class2 is not a valid constant expression.

Recovery

Change or remove class2 to a constant expression.

EDC3450
Descriptor specifier "&1" invalid for type "&2".

The specifier is not valid for this type.

Recovery

Ensure the operational descriptor specifier is valid.

EDC3452
Invalid syntax for #pragma pack.

The compiler has detected an invalid #pragma pack syntax.

Recovery

Correct the syntax.

EDC3453
#pragma pack is not allowed after the definition of the class.

Alignment of the class must be known prior to its definition.

Recovery

Move #pragma pack so that it is before the definition of the class.

EDC3454
A class must have been declared before it is used in a #pragma pack.

The specified alignment can only be applied to a class that has been declared.

Recovery

Declare the class before it is used in a #pragma pack.

EDC3455
#pragma pack cannot be declared more than once for the same class

There can only be one alignment specification per class.

Recovery

Remove or change one of the #pragma pack statements.

EDC3456
Trying to reset an empty #pragma pack stack.

Each #pragma pack value is placed on a stack. There is currently no #pragma pack value on the alignment stack.

Recovery

Remove #pragma pack() directive.

EDC3457
Invalid #pragma pack alignment value.

The alignment value specified with #pragma pack is not valid. Check the

Recovery

Remove the invalid value.

EDC3458
Template class matches more than one #pragma pack.

Only one alignment value specified by #pragma pack can be used when defining a template.

Recovery

Ensure the template class matches only one #pragma pack.

EDC3461
"&1" is not a valid sub-option for "&2". Option is ignored.

The command line contained an option with an invalid sub-option.

Recovery

Remove the sub-option.

EDC3470
"&1" has extern "C++" linkage and can not be mapped to "&2".

Only functions with extern "C" linkage can be mapped using #pragma map.

EDC3471
The linkage specification "&1" is not valid.

The linkage specified with #pragma linkage is not valid for this identifier.

Recovery

Remove the linkage specification.

EDC3472
The identifier "&1" has not been declared yet, so cannot have a "&2" specified.

Linkage, map or noinline can only apply to those identifiers which have been declared.

Recovery

Declare the identifier before linkage, mapping or noinline.

EDC3473
Invalid syntax for pragma "&1". Expected "&2".

The compiler encountered a pragma with an invalid syntax. The message identifies what the compiler expected and what it actually found.

Recovery

Correct the syntax.

EDC3474
Argument to va_start must be a parameter name.

va_start initializes the argument to point to the beginning of the list.

Recovery

Ensure the argument to va_start is a parameter name.

EDC3475
A local variable or compiler temporary is being used to initialize reference member "&1".

The local variable is only active until the end of the function, but it is being used to initialize a member reference variable.

Recovery

Ensure that no part of your program depends on the variable or temporary.

EDC3476
Compilation aborted by user or by the operating system.

Either you pressed Ctrl-C or the operating system killed the process. Possible cause :colon. swap space is exhausted

EDC3477
The keyword _Packed must be used in a typedef.

The _Packed type specifier can only be used in a typedef declaration.

Recovery

Use _Packed in a typedef declaration to declare the _Packed class type, then use the typedef name to declare the variable.

EDC3479
The keyword _Packed must be associated with a class definition.

The _Packed specifier is only valid on a typedef declaration with a class definition.

Recovery

Define the _Packed class type in the typedef declaration.

EDC3483
"&1" must be declared to have non-C++ linkage in order to be fetchable.

A fetchable function cannot have C++ linkage.

EDC3484
Ellipsis parameters not supported for 16 bit callable functions.

Variable length parameter lists cannot be used when calling between 16 and 32 bit functions. This is a permanent restriction.

EDC3489
Definition of "&1" is only allowed at file scope.

A template class is being defined in a scope other than file scope. Because all template class names have file scope this definition is not allowed.

Recovery

Move the template class definition to file scope.

EDC3490
Class template "&1" cannot be used until its containing template has been instantiated.

The class template referenced cannot be used until the template that contains it has been instantiated. template cannot be used.

Recovery

Declare the class template at file scope or instantiate the template that contains it.

EDC3491
The data in precompiled header &1 does not have the correct format.

The precompiled header file has been corrupted or is not actually a precompiled header file.

Recovery

Delete the corrupted header file or use the correct option to regenerate it.

EDC3492
Unable to open precompiled header &1. The original header will be used.

The specified error occurred when the compiler attempted to open the precompiled header file.

Recovery

Correct the condition that prevented the open.

EDC3493
Precompiled header &1 was created by a later release of the compiler. The original header will be used.

The precompiled header cannot be used because it was created by a later version of the compiler.

Recovery

Delete the header or use the -genpcomp option to regenerate it.

EDC3494
Unable to write to precompiled header &1.

The specified error occurred when the compiler attempted to write to the precompiled header file.

Recovery

Correct the condition which prevented the write operation.

EDC3495
Invalid wchar_t value &1.

A multibyte character or escape sequence in a literal has been converted to an invalid value for type wchar_t.

Recovery

Change the character or escape sequence.

EDC3496
Macro &1 has been invoked with an empty argument for parameter &2.

The argument corresponding to the specified parameter has no tokens.

Recovery

If necessary, specify an argument.

EDC3498
Precompiled header &1 created.

The precompiled header was successfully created.

EDC3499
Cannot open precompiled header &1 for output.

The specified error occurred when the compiler attempted to open the precompiled header file.

Recovery

Correct the condition which prevented the compiler from opening the file.

 


Summary of Compiler Error Messages