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 に答える