我使用函数返回bool作为Arduino中if语句的条件:
bool conditionFunc(){
return true;
}
void setup(){}
void loop(){
if (conditionFunc){
}
}
Run Code Online (Sandbox Code Playgroud)
在我看来,我应该这样做:
if (conditionFunc()){ //added ()
doSometing;
}
Run Code Online (Sandbox Code Playgroud)
但第一个没有在验证过程中造成任何错误,并且代码工作(根据我的客户 - 我没有建立一个电路 - 这是一个简单的工作,所以我没有必要这样做).我偶然发现了它.我没有名为conditionFunc的变量.在我看来,在Arduino IDE中进行验证时应该发现错误.
我糊涂了.当我学习c ++时,我是否错过了什么,这两种解决方案都没问题?也许这是由Arduino解释c ++的方式引起的?正如我所说,我没有看到它在行动,但我不知道为什么我的客户会打算他想要正常工作的东西.至少它应该在编译期间引起问题(在Arduino IDE中验证)