Una variable de tipo int siempre almacenará un número entero (0,1,2,-1,994,-374,...). Sabiendo esto, debes darte cuenta de que no puedes encontrar una condición en la que una variable int sea diferente de un número, no tiene sentido.
Ahora bien, una variable de tipo char almacenará carácteres de la tabla ASCII (256 carácteres diferentes en total). Aunque todos ellos son variables de tipo char, representan tanto letras, como números, símbolos, etc.
Si utilizas un char en vez de un int para guardar la respuesta del usuario, puedes verificar si el cáracter introducido es un número o no con la condición que ya te han comentado arriba. Esta sería la implementación completa:
Código C++:
Ver original#include <iostream>
using namespace std;
int main(void){
char n;
cout << "Introduce algo: ";
cin >> n;
do{
cout << "Repetir si no soy un numero" << endl;
}while ( n < '0' || n > '9') ;
return 0;
}