В следующей программе C++ изменение функции  статического элемента данных из функции const работает нормально:
class A 
{
  public:   
    static int a; // static data member
    void set() const
    {
        a = 10;
    }
};
Но изменение  нестатического элемента данных из функции const не работает:
class A 
{
  public:   
    int a; // non-static data member
    void set() const
    {
        a = 10;
    }
};
  Почему функция члена const изменяет член данных static?