0

我有一个类 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)

据我所知,我正确使用了迭代器?

我不确定我的使用方式有什么问题?

4

2 回答 2

0

如果locator迭代器在使用之前已正确初始化,那么您应该将代码更改为

if(locator->getBoo() + (insertBar.geBoo()) < 4000)
于 2012-04-19T10:50:50.450 回答
0

fooVector(locator)你想用这个来表达什么?

fooVector是变量不是函数。

于 2012-04-19T10:48:09.577 回答