我有一个回调函数,它以 avoid *作为参数来传递参数,我想将一个向量传递给函数。该函数将被多次调用,因此在回调过程完成后,我希望能够遍历所有已push_back()通过回调编辑的元素。
static void cb(void *data)
{
    vector<int> *p = static_cast<vector<int>*>(data); //Attempting to convert *void to vector<int>
    p->push_back(1);
}
int main()
{
    vector<int> a(10); //Max of 10 push_back()s? vector<int> a; gives memory error.
    cb((void*)&a.at(0));
    cout << a.at(0); //Gives a random number of 6 digits or higher
}
a.at(0)问题是在回调后调用时它的值不正确,只是一些随机数。