[an error occurred while processing this directive]
|
class LED
{
public:
void Toggle(void);
};
void LED::Toggle(void)
{
}
void func(void (*pf)());
int main(void)
{
LED LED_0, LED_1;
LED_0.Toggle();
LED *pLED_0=(LED *)&LED_0;
// èëè
// pLED_0=new LED
func(&LED_0.Toggle); // äîëæíî ðàáîòàòü
func((void*)&LED_0.Toggle); // äîëæíî ðàáîòàòü
func((void*)&(LED_0.Toggle)); // äîëæíî ðàáîòàòü
func(&pLED_0->Toggle); // äîëæíî ðàáîòàòü
func((void*)&pLED_0->Toggle); // äîëæíî ðàáîòàòü
func((void*)&(pLED_0->Toggle)); // äîëæíî ðàáîòàòü
}
Все дают одну и ту же ошибку:
Error[Pe300]: a pointer to a bound function may
only be used to call the function