Function 如何更改函数中的全局布尔值?
您好:D作为Arduino的实践,我正在尝试制作一个可以重复使用的函数来更改循环函数中的全局变量。例如,我有两个全局布尔值answer1和answer2,我有一个void函数,输入布尔值。然而,当我运行代码时,全局变量没有改变,我确信我没有正确理解什么Function 如何更改函数中的全局布尔值?,function,arduino,global-variables,Function,Arduino,Global Variables,您好:D作为Arduino的实践,我正在尝试制作一个可以重复使用的函数来更改循环函数中的全局变量。例如,我有两个全局布尔值answer1和answer2,我有一个void函数,输入布尔值。然而,当我运行代码时,全局变量没有改变,我确信我没有正确理解什么 bool answer1, answer2; void setup() { answer1 = false; answer2 = false; } void loop() { grading(answer1); gra
bool answer1, answer2;
void setup() {
answer1 = false;
answer2 = false;
}
void loop() {
grading(answer1);
grading(answer2);
}
void grading(bool _answer)
{
_answer = true;
}
使用参考资料
bool answer1, answer2;
void setup() {
answer1 = false;
answer2 = false;
}
void loop() {
grading(answer1);
grading(answer2);
}
void grading(bool& _answer)
{
_answer = true;
}
…或指针
bool answer1, answer2;
void setup() {
answer1 = false;
answer2 = false;
}
void loop() {
grading(&answer1);
grading(&answer2);
}
void grading(bool* _answer)
{
*_answer = true;
}
使用引用:
bool&\u answer
,因为默认情况下变量是通过副本传递的,所以您要更改原始变量的副本。或者可能bool grading(){return true;}
和answer1=grading()代码>但它可能过于简化,因此可能不适用。或者您可以用C编写它。非常感谢您的评论:D我意识到我只是用函数获取变量的副本,而引用调用正是我所需要的:D。