URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 693 |
Rev 783 |
// { dg-do compile }
|
// { dg-do compile }
|
struct base { void somemethod() {} };
|
struct base { void somemethod() {} };
|
struct derived : public base { };
|
struct derived : public base { };
|
|
|
struct smartpointer
|
struct smartpointer
|
{
|
{
|
~smartpointer() { }
|
~smartpointer() { }
|
operator derived*() const
|
operator derived*() const
|
{
|
{
|
return 0;
|
return 0;
|
}
|
}
|
};
|
};
|
typedef void ( derived::* methodptr_type )();
|
typedef void ( derived::* methodptr_type )();
|
methodptr_type getmemberptr()
|
methodptr_type getmemberptr()
|
{
|
{
|
return &derived::somemethod;
|
return &derived::somemethod;
|
}
|
}
|
void somefunction()
|
void somefunction()
|
{
|
{
|
smartpointer pObj;
|
smartpointer pObj;
|
( pObj->*getmemberptr() )();
|
( pObj->*getmemberptr() )();
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.