У вас есть фундаментальное недопонимание того, как используются указатели для реализации ссылочной семантики. Вы хотите изменить вещь, которая указана на указателем:
*pOK = ok;
Однако C ++ фактически поддерживает семантику ссылок изначально через ссылочные типы , что может быть предпочтительным:
void testNumber(bool & OK, int n)
{
OK = true;
// ...
}
Еще лучше, если просто вернуть bool:
bool testNumber(int n) { /* ... */ }
if (testNumber(x)) //... etc.