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



             Bug #: 55728

           Summary: std::bad_function_call has misleading what() result

    Classification: Unclassified

           Product: gcc

           Version: 4.7.2

            Status: UNCONFIRMED

          Severity: minor

          Priority: P3

         Component: c++

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: joerg.rich...@pdv-fs.de





cat t.cc << EOF

#include <functional>

#include <iostream>



int main()

{

  try

  {

    std::function<void()>()();

  }

  catch( std::exception const& e )

  {

    std::cout << e.what() << std::endl;

  }

}

EOF



g++ -std=c++11 -o t t.cc

t



# gives me "std::exception"



Not wrong, but "std::bad_function_call" would have saved me some debug time.

Reply via email to