如何更改函数内的全局布尔值?

How do i change global boolean inside a function?

你好:D 作为 Arduino 的练习,我正在尝试制作一个可以重复使用的函数来更改循环函数内的全局变量。因此,例如,我有两个全局布尔值 answer1 和 answer2,并且我有一个以布尔值作为输入的 void 函数。但是,当我 运行 代码时,全局变量没有改变,我确定我没有理解正确。

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;
}