Wrong - it's because isFunction is not a static method of class Function. Static linkage means something else besides the myriad of uses of static in C++.
It must be a static method of class Function for you to call it as Function::isFunction()
If it's just sitting in Function.cpp, out in the open, call it directly: isFunction()
You have to watch out - static is an overloaded keyword in C++.
Either:
1. declare a static method inside your class in your .h and omit the static keyword in your .cpp file
or
2. in your .cpp file just define a static function for use inside that unit
Usually, it doesn't make sense to declare a static function in a header file...