cpp中的向量到非向量赋值

vector to non vector assignment in cpp

本文关键字:向量 赋值 cpp      更新时间:2023-10-16

我在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)
{
}

我得到这个错误:

error: cannot convert 'std::vector::iterator {aka__gnu_cxx::__normal_iterator>}' to 'data*'在初始化

我是这个矢量用法的新手。有人能帮我一下吗?

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

data *c = &*it;