Puede ser un int, ya que teóricamente en C/C++ el TRUE y FALSE, corresponden a un 1 lógico y un 0 lógico.
(EDIT: Me ganaron la respuesta)
EDIT2:
Creo que lo más conveniente, es declarar un tipo bool ya que precisamente se está evaluando una operación booleana, que en el fondo debería devolver un "tipo boolean", sólo es cuestión de gustos en esta parte... yo eligiría el bool pero no sabría fundamentar BIEN por qué razón...
numero | contador | condición 2 0 - 4 0 - 4 1 V 0 2 F 0 1 -
Entonces, el contador regresa que fue un sólo dígito... Ahora bien, espero que puedas entender la prueba...(no está bien hecha en cuanto a formalidad se refiere)