term does not evaluate to a function
A call is made to a function through an expression. The expression does not evaluate to a function pointer. The following sample generates C2064:
int i, j; char* p; void func() { j = i(); // error, i is not a function p(); // error, p doesn't point to a function }