Código C ++ para verificar se números primos não estão funcionando

Estou tendo problemas com este código C ++. O inteironum é um número que eu quero verificar se é primo. No entanto, este programa está sempre retornando falso. É provavelmente algo simples, mas não consigo encontrar nada.

for(int i=2;i<num;i++){ //primes are allowed to be divided by 1 so we start at 2
        if(num % i == 0){ //can be divided by a number other than itself or 1 so we trip out
            return false;
        } else if(i == num){ //if we've already done checks as high as possible and not tripped out yet then report success
            return true;
        }
}

questionAnswers(6)

yourAnswerToTheQuestion