向量到cpp中的非向量赋值

时间:2016-09-12 17:09:05

标签: c++ loops object vector iterator

我在data *c=it;收到错误。我只需要检索一个值。

class X
{
    string value4;
    vector<data> *T1;
}
class data
{
    string value1;
    int value2;
}
void doTask(X V1)
{
    vector<data> *tempdata=V1.getData();
    for (std::vector<data>::iterator it = tempdata->begin() ; it !=tempdata->end(); ++it)
    {
              data *c=it;
              sendData(value3,c);
    }
}
 void sendData(string s,data d)
{

}

我收到此错误:

  

错误:无法转换'std :: vector :: iterator {aka   初始化中__gnu_cxx :: __ normal_iterator&gt;}'到'data *'

我是这个向量用法的新手。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

您必须取消引用迭代器以获取对包含的项类型的引用,然后获取其地址以获取指针:

data *c = &*it;