如何让我的回调函数知道向量的哪个元素称为它?

时间:2010-12-07 08:15:11

标签: c++ vector callback

我有2个向量,可以在随机位置创建新按钮。 push_back由计时器触发。每个push_back都有一个新的随机位置和一个新的randval。单击按钮会触发cb_addscore。

m.push_back(new mole(Point(randx*50+25,randy*50+25),randval));
v.push_back(randval);
mb.push_back(new Button(Point(randx*50,randy*50),50,50,"1",cb_addscore));

在回调函数cb_addscore中,我试图删除触发它的按钮,这将是m和mb向量的特定元素。

但是我如何让cb_addscore知道哪个元素触发了它?

1 个答案:

答案 0 :(得分:1)

您可能希望使用关联容器而不是使用向量,并将其他密钥传递给函数。

您可能会发现std::map对此任务很有用。