如何为vector <type *> bar赋值*

时间:2015-10-04 11:54:14

标签: c++ pointers vector

有这样的代码: std::vector <STARTUPINFO*> *si;

然后我用它来启动它: si->push_back(new STARTUPINFO);

现在,我怎样才能引用向量的元素? 例如,我想改变si[i].cb成员

1 个答案:

答案 0 :(得分:1)

注意si最好在尝试访问指向容器的成员之前在某处初始化。 < / p>

您需要取消引用指针,或使用一些可用的成员函数来提供对其中元素的访问,并且由于元素的类型为STARTUPINFO*,因此您无法使用{{1} } -notation以访问元素的成员。

实施例

.
si->at(i)->cb /* std::vector<...>::at */
(*si)[i]->cb