//const_test.cpp
struct A
{
  A(unsigned int n)
  {
     aa=n;        
  }
  void const_fun() const
  {
      static_cast<A>(*this).fun();  //ok
     // fun();       //err  
  }
  void fun()
  {
  }
  unsigned int aa;
};

int main()
{
    const A a(56);
    a.const_fun();
}

//  g++ const_test.cpp
//  ./a.out
//we should forbid call non_const member function  in a const member function
without an explicit const_cast ,isn't it?


-- 
           Summary: a const member function can call a non_const member
                    function without const_cast
           Product: gcc
           Version: 4.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hongleij at 126 dot com
  GCC host triplet: all


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30331

Reply via email to