Microchip Technology XC8 Standard Compiler (Workstation) SW006021-1 SW006021-1 ユーザーズマニュアル

製品コード
SW006021-1
ページ / 518
Error and Warning Messages
 2012 Microchip Technology Inc.
DS52053B-page 381
(125) illegal character (* decimal) in #if 
(Preprocessor)
There is a non-printable character in a #if expression that has no business being 
there. Valid characters are the letters, digits and those comprising the acceptable 
operators, for example:
#if ^S YYY  /* what is this control characters doing here? */
  int m;
#endif
(126) strings can’t be used in #if 
(Preprocessor)
The preprocessor does not allow the use of strings in 
#if
 expressions, for example:
/* no string operations allowed by the preprocessor */
#if MESSAGE > "hello" 
#define DEBUG
#endif
(127) bad syntax for defined() in #[el]if 
(Preprocessor)
The defined() pseudo-function in a preprocessor expression requires its argument 
to be a single name. The name must start with a letter and should be enclosed in 
parentheses, for example:
/* oops -- defined expects a name, not an expression */
#if defined(a&b)
  input = read();
#endif
(128) illegal operator in #if 
(Preprocessor)
A #if expression has an illegal operator. Check for correct syntax, for example:
#if FOO = 6  /* oops -- should that be: #if FOO == 5 ? */
(129) unexpected "\" in #if 
(Preprocessor)
The backslash is incorrect in the #if statement, for example:
#if FOO == \34
  #define BIG
#endif
(130) unknown type "*" in #[el]if sizeof() 
(Preprocessor)
An unknown type was used in a preprocessor sizeof(). The preprocessor can only 
evaluate sizeof() with basic types, or pointers to basic types, for example:
#if sizeof(unt) == 2  /* should be: #if sizeof(int) == 2 */
  i = 0xFFFF;
#endif
(131) illegal type combination in #[el]if sizeof() 
(Preprocessor)
The preprocessor found an illegal type combination in the argument to sizeof() in a 
#if
 expression, for example:
/* To sign, or not to sign, that is the error. */
#if sizeof(signed unsigned int) == 2
  i = 0xFFFF;
#endif