Making non-modifying methods non-const cause compilation problems when I have a const pointer to the object and want to call that method