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

How can I retrieve a specific member from a class with a getter inside of a function that uses an iterator inside of a loop?

本文关键字:内部 getter 函数 检索 成员 迭代器 循环      更新时间:2023-10-16

我正在尝试通过将参数作为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行会给我一个整数。

不进行测试,因为您不提供可编译的程序,因此您可能应该在初始删除的(*l_iterator)->GetTaxGroupId()周围放置括号,以便编译器知道您正在尝试访问一个CTaxGroup的成员,不是迭代器的成员。