I need an explanation of part of the following function that is highlighted in red (possible typo). At first I thought the parenthesis to the right of c was a typo(this is from the book Accelerated C++) but the full code compiles and runs successfully. I don't understand why that parenthesis is there.
bool not_url_char(char c)
// characters, in addition to alphanumerics, that can appear in a \s-1URL\s0
static const string url_ch = "~;/?:@=&$-_.+!*'(),";
// see whether `c' can appear in a \s-1URL\s0 and return the negative
return !(isalnum(c) ||
find(url_ch.begin(), url_ch.end(), c) != url_ch.end());