### Compiler Error Messages EDC0103 - EDC0199

EDC0103
  Tag &1 requires a complete definition before it is used.

  Only pointer declarations can include incomplete types. A struct or union tag is undefined if the list describing the name and type of its members has not been specified.

  Recovery: Define the tag before it is used in the declaration of an identifier or complete the declaration.

EDC0104
  The value of an enumeration constant must be an integral constant expression.

  If an enum constant is initialized in the definition of an enum tag, the initial value of the constant must be an integral expression that has a value representable as an int.

  Recovery: Remove the initial value, or ensure that the initial value is an integral constant expression with a value representable as an int.

EDC0108
  Bit fields with zero width must be unnamed bit fields.

  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: Redefine the bit field with a length greater than zero or remove the name of the bit-field.

EDC0112
  Duplicate type qualifier "&1" ignored.

  The indicated qualifier appears more than once in the type declaration.

  Recovery: Remove one of the duplicate qualifiers.

EDC0115
  Duplicate type specifier "&1" ignored.

  A duplicate type specifier appears in the type declaration.

  Recovery: Remove one of the duplicate type specifiers.

EDC0117
  Operand must be a scalar type.

  Valid scalar types include: signed and unsigned char; signed and unsigned short, long, long long, and int; enum, float, double, long double, and pointers.

  Recovery: Change the type of the operand, or use a different operator.

EDC0119
  Duplicate storage class specifier &1 ignored.

  A duplicate storage class specifier appears in the declaration.

  Recovery: Remove one of the duplicate storage class specifiers.

EDC0120
  Function cannot return a &1 qualified type.

  The const or volatile qualifier cannot be used to qualify a function's return type.

  Recovery: Remove the qualifier or return a pointer to the qualified type.

EDC0122
  Expecting pointer to struct or union.

  The left hand operand of the arrow operator (->) must have type pointer to structure or pointer to union.

  Recovery: Change the operand.

EDC0127
  The second and third operands of the conditional operator must have compatible struct or union types.

  If one operand in the conditional expression has type struct or union, the other operand must also have type struct or union.

  Recovery: Make the operands compatible.

EDC0131
  Explicit dimension specification or initializer required for an auto or static array.

  For arrays of automatic or static storage class, all dimensions of the array must be specified in the declaration. If the declaration provides an initialization, the first dimensions may be unspecified because the initialization will determine the size needed.

  Recovery: Specify all of the dimensions in the array declaration.

EDC0134
  Array bound is too large.

  The size of the array is too large for the compiler to represent internally.

  Recovery: Reduce the size of the array.

EDC0137
  Declaration must declare at least one declarator, tag, or the members of an enumeration.

  The declaration specifier was the only component of the declaration. eg. int ;

  Recovery: Specify at least one declarator, tag, or member of an enumeration.

EDC0152
  A register array may only be used as the operand to sizeof.

  The only operator that can be applied to an array declared with storage class specifier register is sizeof.

  Recovery: Remove the operation or remove the register storage class specifier.

EDC0155
  Option &1 requires suboption(s).

  The option is not completely specified; a suboption is required.

  Recovery: Add a suboption.

EDC0159
  Bit-field type specified for &1 is not valid. Type &2 assumed.

  The type of a bit-field must be a (possibly qualified) version of int, signed int or unsigned int.

  Recovery: Define the bit-field with a type signed int or unsigned int.

EDC0160
  Object &1 cannot be declared as type void.

  The type void can only be used as the return type or parameter list of a function, or with a pointer. No other object can be of type void.

  Recovery: Ensure that the declaration uses type void correctly.

EDC0162
  No definition was found for function &1. Storage class changed to extern.

  A static function was declared and referenced in this file. The definition of the function was not found before the end of the file. When a function is declared to be static, the function definition must appear in the same file.

  Recovery: Change the storage class to extern or provide a function definition in this file.

EDC0164
  Expression must be a scalar type.

  Valid scalar types include: signed and unsigned char; signed and unsigned short, long, long long, and int; enum, float, double, long double, and pointers.

  Recovery: Change the expression.

EDC0166
  Definition of function &1 requires parentheses.

  The syntax of the declaration is not correct. The compiler assumes it is the declaration of a function in which the parentheses surrounding the parameters are missing.

  Recovery: Check the syntax of the declaration. Ensure the object name and type are properly specified. Check for incorrect spelling or missing parentheses.

EDC0167
  String literal is longer than target array. Literal is truncated on the right.

  An attempt was made to initialize an array with a string that is too long. The largest possible prefix of the string has been placed in the array.

  Recovery: Increase the size of the array. Make sure you include space for the terminating null character.

EDC0168
  Initializer must be enclosed in braces.

  The initializer list for a declarator must be enclosed in braces.

  Recovery: Check for misplaced or missing braces.

EDC0169
  Too many suboptions specified for option FLAG. Specify only two suboptions.

  The FLAG option takes two suboptions separated by ':'. The suboptions indicate the level of errors to be reported in the source listing and in stderr.

  Recovery: Only specify two suboptions to the FLAG option.

EDC0170
  Parameter &1 has already been defined on line &2 of "&3".

  A parameter can only be defined once but more than one definition for the parameter has been specified. Parameters names must be unique.

  Recovery: Remove one of the parameter declarations or change the name of the identifier.

EDC0172
  Parameter type list for function &1 contains parameters without identifiers.

  In a C function definition, all parameters must be named in the parameter list. The only exceptions are parameters of type void.

  Recovery: Name the parameter or remove it.

EDC0173
  Option "/&1" is not recognized.

  An invalid option was specified.

  Recovery: Correct the spelling of the option.

EDC0174
  Option &1 must be specified on the command line.

  The option can only be specified on the command line and is not valid as part of an options pragma.

  Recovery: Specify option on command line.

EDC0175
  Option &1 must be specified on the command line or before the first C statement in the program.

  The option is specified in a pragma options after the first C token in the compilation unit. It must be specified before the first token.

  Recovery: Specify the option on the command line or move the pragma options before the first token.

EDC0176
  Option &1 cannot take more than one suboption.

  More than one suboption was specified for an option that can only accept one suboption.

  Recovery: Remove the extra suboptions.

EDC0178
  Unexpected argument for built-in function &1.

  The function call contains more arguments than specified in the parameter list of the built-in function.

  Recovery: Change the number of arguments in the function call.

EDC0180
  Redeclaration of built-in function &1 ignored.

  Built-in functions are declared by the compiler and cannot be redeclared.

  Recovery: Remove the declaration.

EDC0181
  Definition of built-in function &1 ignored.

  Built-in functions are defined by the compiler and cannot be redefined.

  Recovery: Remove the function definition.

EDC0182
  Arguments missing for built-in function &1.

  The function call contains fewer arguments than specified in the parameter list of the built-in function.

  Recovery: Change the number of arguments in the function call.

EDC0183
  Builtin function &1 cannot change a read-only string literal.

  Read-only strings cannot be modified.

  Recovery: Modify a copy of the string or change the string's read-only status.

EDC0184
  Too few suboptions specified for option FLAG. Specify two suboptions.

  The FLAG option takes two suboptions separated by ':'. The suboptions indicate the level of errors to be reported in the source listing and in stderr.

  Recovery: Specify two suboptions to the FLAG option.

EDC0185
  #line number &1 must be greater than zero.

  The #line directive tells the compiler to treat the following source lines as starting from the specified line. This number must be a non-negative offset from the beginning of the file.

  Recovery: Change line number to a non-negative integer.

EDC0186
  String literal must be ended before the end of line.

  String literals must end before the end of the line. To create a string literal longer than one line, use the line continuation sequence (a backslash (\) at the end of the line), or concatenate adjacent string literal.

  Recovery: End the string with a quotation mark before the end of the line or use the continuation sequence.

EDC0188
  Reserved name &1 cannot be defined as a macro name.

  The name is reserved for the compiler's use.

  Recovery: Choose another name.

EDC0189
  Floating point constant &1 is not valid.

  See the C and C++ Language Reference for a description of a floating-point constant.

  Recovery: Ensure that the floating-point constant does not contain any characters that are not valid.

EDC0190
  Automatic constant &1 does not have a value. Zero is being assumed.

  Const qualified variable declarations should contain an initializer. Otherwise you cannot assign the variable a value.

  Recovery: Initialize the const variable when you declare it.

EDC0191
  The character &1 is not a valid C source character.

  Refer to the C and C++ Language Reference for information on valid characters.

  Recovery: Change the character.

EDC0192
  Cannot take address of built-in function &1.

  You cannot take the address of a built-in function or declare a pointer to a built-in function.

  Recovery: Remove the operation that takes the address of the built-in function.

EDC0193
  The size of this type is zero.

  You cannot take the address of an array of size zero.

  Recovery: Remove the operation that takes the address of the zero-sized array.

EDC0194
  Incomplete type is not allowed.

  Except for pointers, you cannot declare an object of incomplete type.

  Recovery: Complete the type declaration.

EDC0195
  Integral constant expression with a value greater than zero is required.

  The size of an array must be an expression that evaluates to a compile-time integer constant that is larger than zero.

  Recovery: Change the expression.

EDC0196
  Initialization between types "&1" and "&2" is not allowed.

  An attempt was made to initialize a variable with an incompatible type.

  Recovery: Ensure types are compatible.

EDC0197
  Expecting header file name in #include directive.

  There was no header filename after the #include directive.

  Recovery: Specify the header file name. Enclose system header names in angle brackets and user header names in double quotes.

EDC0198
  #if, #else, #elif, #ifdef, #ifndef block must be ended with #endif.

  Every #if, #ifdef, and #ifndef must have a corresponding #endif.

  Recovery: End the conditional preprocessor statements with a #endif.

EDC0199
  #&1 directive requires a macro name.

  There must be a macro name after every #define, #undef, #ifdef or #ifndef.

  Recovery: Ensure that a macro name follows the #define, #undef, #ifdef, or #ifndef preprocessor directive.

Summary of Compiler Error Messages