alterar permanentemente o valor do parâmetro

Eu tenho uma verificação de função que leva um booleano como um argumento, usa o valor do booleano e, em seguida, altera-o. Eu sempre passo essa função uma variável global, como:

check(4, some_global_boolean, 'a');

e quero que a mudança na variável permaneça depois que "check" for chamado. No momento, a mudança não vai além dessa chamada de função. Como eu faço isso?

boolean check(int key, boolean prev_key_high, char c){

 if (key == LOW) {
    if ( prev_key_high){
      prev_key_high = false;
      Serial.println(c);
      return true;
}
  }

  else {
    prev_key_high = true;
    return false;
  }
}

questionAnswers(6)

yourAnswerToTheQuestion