【发布时间】:2013-01-26 16:10:14
【问题描述】:
我有一个指向成员函数的指针列表,但我很难尝试调用这些函数...正确的语法是什么?
typedef void (Box::*HitTest) (int x, int y, int w, int h);
for (std::list<HitTest>::const_iterator i = hitTestList.begin(); i != hitTestList.end(); ++i)
{
HitTest h = *i;
(*h)(xPos, yPos, width, height);
}
我也在尝试在这里添加成员函数
std::list<HitTest> list;
for (std::list<Box*>::const_iterator i = boxList.begin(); i != boxList.end(); ++i)
{
Box * box = *i;
list.push_back(&box->HitTest);
}
【问题讨论】:
-
定义“遇到困难”
-
它不工作大声笑,我不能让它工作
-
您确定要这样做,而不是使用 Box 元素列表和虚函数吗?
-
第一个代码我收到错误“错误 C2276:'&':对绑定成员函数表达式的非法操作”对于第二个代码片段,我收到语法错误“错误:表达式必须有一个指针类型”使用该语法”
标签: c++ function-pointers