Я пытаюсь вызвать метод, инициализированный указателем на метод другого класса, я следил за this: , но это не сработало для меня.Метод класса вызова нестатический, инициализированный указателем
считают это:
class y
{
public:
int GetValue(int z)
{
return 4 * z;
}
};
class hooky
{
public:
int(hooky::*HookGetValue)(int);
};
int(hooky::*HookGetValue)(int) = (int(hooky::*)(int))0x0; // memory address or &y::GetValue;
int main()
{
hooky h; // instance
cout << h.*HookGetValue(4) << endl; // error
return 0;
}
ошибка, которая производит это:
[Error] следует использовать. 'или' -> 'для вызова функции указатель-член в ' HookGetValue (...) ', например. '(... -> * HookGetValue) (...)'
Я думаю, вы должны написать '(ч. * HookGetValue) (4)' вместо этого? –
@AdrianShum благодарит много, но почему работает? пожалуйста, вы можете сказать мне? Я не понимаю, если это то же самое. – nikomaster
проверить мое обновление –