Because there´s no object const correctness can be applied to. If you declare a member function const you promise not to modify the observable state of the object you call the function on. Non member functions do not have an object they belong to, so what do you promise not to change?