It must be a typo.
Function calls have the highest priority here, followed by logic NOT and logic OR.
!didIMakeAMistake() || CIsWrongHere();
!didIMakeAMistake() is evaluated first (or you can say didIMakeAMistake() is executed and evaluated first, then its result is inverted and checked), if it's true, evaluation is finished. If it's false, CIsWrongHere(); is evaluated.It is indeed equivalent to
if (didIMakeAMistake()) /* !didIMakeAMistake() == false? */
CIsWrongHere();
Without the invertion.