我正在尝试member-function使用智能指针实例执行类的。该函数的地址通过值传递,我想通过相应类的智能指针实例调用该值。
我已经试过了:
(registerList.*setRegister)();
Run Code Online (Sandbox Code Playgroud)
但是它出错了:
no match for ‘operator->*
Run Code Online (Sandbox Code Playgroud)
Register 类成员函数:
uint16_t Registers::getSP()
{
return this->sp;
}
Run Code Online (Sandbox Code Playgroud)
代码段:
std::unique_ptr<Registers> registerList;
SetRegisteropcodeLdWordRegister(&Registers::getSP)
void opcodeLdWordRegister(uint16_t (*Registers::setRegister)())
{
(registerList.*setRegister)();
}
Run Code Online (Sandbox Code Playgroud) c++ member-function-pointers smart-pointers unique-ptr c++11