我有一个类foo,并使用此代码为其创建了一个向量
std::vector<foo> fooVector;
我还有一个使用此代码的迭代器
std::vector<foo>::iterator locator;
现在我收到此错误
foo.cpp:29:25: error: no match for call to ‘(std::vector<foo>) (std::vector<foo>::iterator&)’
,相应的行是
if(fooVector(locator).getBoo() + (insertBar.geBoo()) < 4000)
据我所知,我正确使用了迭代器?
我不确定我如何使用它有什么问题?
答案 0 :(得分:0)
fooVector(locator)
你想表达什么?
fooVector
是一个不是函数的变量。
答案 1 :(得分:0)
如果locator
迭代器在使用之前已正确初始化,那么您应该将代码更改为
if(locator->getBoo() + (insertBar.geBoo()) < 4000)