Cómo prevenir la conversión implícita de char array a bool

struct Foo {
  void setBar(bool bar_) { bar = bar_; }
  bool bar;
};

int main() {
  Foo f;
  f.setBar("true");
}

El código anterior se compila correctamente debido a la conversión de tipo, aunque se pase una matriz de caracteres donde sebool se espera.

¿Es posible hacer que este código falle en la compilación? (Se prefiere la solución C ++ 03, ya que el compilador en mi lugar de trabajo es antiguo).

He analizado las siguientes preguntas relacionadas sobre StackOverflow, pero no solucionan el problema.Previniendo la conversión implícita en C ++, ¿Por qué el compilador elige bool sobre cadena para typecast implícito de L ""?

Respuestas a la pregunta(3)

Su respuesta a la pregunta