我如何从使用循环内部迭代器的函数中具有getter的类中检索特定成员?

时间:2019-06-26 19:03:13

标签: c++ pointers iterator

我试图通过将TaxGroupId作为参数来创建一个返回类(CTaxGroup)的函数。

该函数将使用迭代器遍历向量。

int m_TaxGroupId;

CTaxGroup CTaxGroupVector::FetchTaxGroup(int TaxGroupId)
{
    CTaxGroup l_TaxGroup;
    std::vector<CTaxGroup>::iterator l_iterator =m_TaxGroupVector.begin();
    for(l_iterator; l_iterator != m_TaxGroupVector.end(); l_iterator++)
    {
        int l_TaxGroupId = *l_iterator->GetTaxGroupId();
        if(l_TaxGroupId == TaxGroupId)
        {
            l_TaxGroup = *l_iterator;
        }
    }
    return l_TaxGroup;
}

std::vector<CTaxGroup> CTaxGroupVector::GetTaxGroupVector()
{
    return m_TaxGroupVector;
}

在第7行,我从IDE(RAD Studio XE4)中收到一条错误消息,指出: “ E2062无效的间接寻址”。

我知道这与指针有关,但是我不确定我的错误是什么。

我希望第7行返回一个整数。

1 个答案:

答案 0 :(得分:0)

未经测试,由于您未提供可编译程序,因此可能应在初始解引用(*l_iterator)->GetTaxGroupId()上加上括号,以便编译器知道您正在尝试访问{ {1}},而不是迭代器的成员。