Потихоньку разбираюсь с C++. Не пойму один момент.
Как известно, в ARM надо прописать адрес обработчика прерывания в VIC;
Некоторый класс:
Код
typedef class _TIMER
{
public:
void Init();
__arm void Isr();
}TIMER,*pTIMER;
void _TIMER::Init()
{
-------------------
OpenIsr(TIMER1,(DWORD*)Isr,HIGH_PR); // определяем обработчик прерывания
}
__arm void _TIMER::Isr()
{
----------------------
}
Компилятор ругается, что нельзя сконвертировать тип.
Пробовал и так конвертировать:
Код
OpenIsr(TIMER1,static_cast<DWORD*>(Isr),HIGH_PR); // определяем обработчик прерывания
Ошибка таже:
Error[Pa073]: invalid type conversion (from "__code __interwork void ()" to "DWORD*")
Это вообще возможно или я в трех соснах блуждаю?
Умные речи подобны строкам, напечатанным курсивом. К. Прутков