jer*_*tus 3 c++ pointers function
我有以下问题:
void MyClass::LoopFunction(vector<Item>& items,void (MyClass::*funcy)(vector<Item>&,int))
{
for(SInt32 i = 0; i < 50; i++)
{
funcy(items,i);
}
}
Run Code Online (Sandbox Code Playgroud)
它说:
Called object type 'void(MyClass::*)(vector<Item>&,int)' is not a function or function pointer
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我找到解决方案吗?
funcy 是一个指向成员函数的指针,因此您需要在类的实例上调用它,如下所示:
(this->*funcy)(items,i);
Run Code Online (Sandbox Code Playgroud)