Здравствуйте, уважаемые.
Пишу на С++ в IAR. Не могу скомпилировать следующий код:
Код
class ex;
typedef void (ex::*Tr)(void);
class ex
{
public:
Tr fptr;
ex();
void func(void);
};
ex::ex()
{
fptr=&ex::func;
}
void ex::func(void)
{
}
void main()
{
ex A;
(A.*func)();
}
Компилятор выдает ошибку: Error[Pe020]: identifier "func" is undefined.
Не могу понять в чем дело. Порылся по книгам, форуму и инету - везде именно так и говорят делать, но увы. Если закомментировать последнюю строку, то компиляция проходит и программа работает. Такое ощущение, что компилятор не видит func, хотя указанно, что этот указатель принадлежит классу ex.
Подскажите, где я мог сделать ошибку?
Заранее спасибо за помощь.
Сообщение отредактировал Goodvin - Jun 14 2012, 20:37