Microchip Technology XC8 Standard Compiler (Workstation) SW006021-1 SW006021-1 User Manual

Product codes
SW006021-1
Page of 518
Error and Warning Messages
 2012 Microchip Technology Inc.
DS52053B-page 387
(188) constant expression required 
(Parser)
In this context an expression is required that can be evaluated to a constant at compile 
time, for example:
int a;
switch(input) {
  case a:  /* oops!
              can’t use variable as part of a case label */
    input++;
}
(189) illegal type for array dimension 
(Parser)
An array dimension must be either an integral type or an enumerated value.
int array[12.5];  /* oops -- twelve and a half elements, eh? */
(190) illegal type for index expression 
(Parser)
An index expression must be either integral or an enumerated value, for example:
int i, array[10];
i = array[3.5];   /* oops --
                     exactly which element do you mean? */
(191) cast type must be scalar or void 
(Parser)
A typecast (an abstract type declarator enclosed in parentheses) must denote a type 
which is either scalar (i.e., not an array or a structure) or the type void, for example:
lip = (long [])input;  /* oops -- maybe: lip = (long *)input */
(192) undefined identifier "*" 
(Parser)
This symbol has been used in the program, but has not been defined or declared. 
Check for spelling errors if you think it has been defined.
(193) not a variable identifier "*" 
(Parser)
This identifier is not a variable; it may be some other kind of object, i.e., a label.
(194) ")" expected 
(Parser)
closing parenthesis, ), was expected here. This may indicate you have left out this 
character in an expression, or you have some other syntax error. The error is flagged 
on the line at which the code first starts to make no sense. This may be a statement 
following the incomplete expression, for example:
if(a == b  /* the closing parenthesis is missing here */
  b = 0;   /* the error is flagged here */
(195) expression syntax 
(Parser)
This expression is badly formed and cannot be parsed by the compiler, for example:
a /=% b;  /* oops -- maybe that should be: a /= b; */
(196) struct/union required 
(Parser)
A structure or union identifier is required before a dot 
"
.
"
 , for example:
int a;
a.b = 9;  /* oops -- a is not a structure */
(197) struct/union member expected 
(Parser)
A structure or union member name must follow a dot "." or arrow (
"
->
"
).