In more detail, a procedural function name in C/C++ is a pointer to a function (a memory address). This is how you can pass one function to another function (like with the CRT qsort() function.) So in your if statement, you are checking whether function exists, which it does. To call a function, you have to use the parentheses syntax, i.e. function(1).