As per this link on the 'static' keyword in C++ :
The static keyword is only used with the declaration of a static member, inside the class definition, but not with the definition of that static member.
Why is the static keyword prohibited on member function definitions? I do understand that re-declaring a function as 'static' at its definition is redundant. But using it should be harmless during compilation of the function definition as it does not result in any kind of ambiguity. So why do compilers prohibit it?