|
Как в IAR С++ описании объекта правильно работать с указателями на функцию внутри объекта
пример
//из .h файла определение типа
typedef void (*pFunc_void_u_char)(unsigned char ); // тип указ. на функ1
typedef unsigned char (*pFunc_u_char_void)(void);// тип указ. на функ2
// определение класса
class Keybord
{public:
Keybord(); // ???????????
//~~~~~
pFunc_u_char_void GetColKey; // переменная - указатель на функцию
pFunc_void_u_char SetLineKey; // переменная - указатель на функцию
unsigned char GetColKeyDummy(void); //
void SetLineKeyDummy(unsigned char Count_Line); //
//---------------------------------------//
private:
unsigned char arrKey[NumberScanLine]; //
unsigned char arrDelayKey[NumberScanLine];//
//~ ~ ~ ~
};
// конструктор где инициализируются указатели на функцию
Keybord::Keybord()
{
// сдесь я хотел бы проинициализировать указатели конкретными адресами функций но ...
GetColKey = GetColKeyDummy; // пишет ошибка
//Error[Pe513]: a value of type "unsigned char (__nearfunc Keybord::*)//()" cannot be assigned to an entity of type "pFunc_u_char_void"
SetLineKey = SetLineKeyDummy;// пишет ошибка
//Error[Pe513]: a value of type "void (__nearfunc Keybord::*)(unsigned //char)" cannot be assigned to an entity of type "pFunc_void_u_char"
}
E-mail: info@telesys.ru