'!'之前的不合格身份证代币

时间:2014-02-10 20:05:52

标签: arduino

我正在尝试在arduino中编写一个布尔计算器。但我得到了这个错误,我无法弄清楚出了什么问题:unqualified-id before '!' token 它突出了第4行。这是我的代码:

#include <LiquidCrystal.h>

LiquidCrystal lcd(2,3,4,5,6,7);
byte verticalLine[8] = { // Custom character (vertical line), 5 X 7. 1 = pixel on, 0 = pixel off.
   B10000,
   B10000, 
   B10000,
   B10000,
   B10000,
   B10000,
   B10000
};
boolean not(boolean X)
{
  return !X;
}
boolean and(boolean A, boolean B)
{
   if(A && B) return true;
  else return false; 
}
boolean or(boolean A, boolean B)
{
    if(A || B) return true;
   else return false; 
} 
boolean xor(boolean A, boolean B)
{
   return or(and(not(A), B), and(A, not(B));
}
void setup() {
  // put your setup code here, to run once:
  lcd.begin(16,2);
  lcd.print("Hello World!");
  lcd.createChar(0, verticalLine);
}

void loop() {
  // put your main code here, to run repeatedly:
  lcd.setCursor(0, 1); //first character of second row.
  lcd.write(0); // writes my custom character.

}

我看到的唯一!是not()方法,这是一个问题吗?

编辑:我尝试将not()方法更改为:

if(X) return false;
 else return true;

所以我的代码中没有!,但它仍然会出错。  我甚至尝试删除第3行中的分号,但它仍然会出现错误并突出显示第4行,这真的很奇怪......

感谢。

1 个答案:

答案 0 :(得分:1)

not是C ++中的保留字,因此您不能将其用作函数名。 Reference.

在C中,这些也是由语言定义的,而不是在文件iso646.h中定义的关键字,例如

#define not     !

您还应该遇到and or xor

的问题