簡體   English   中英

沒有匹配&#39;(std :: vector <foo> )(std :: vector <foo> :: iterator&)&#39;

[英]no match for call to ‘(std::vector<foo>) (std::vector<foo>::iterator&)’

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

據我所知,我正確使用了迭代器?

我不確定我的使用方式有什么問題?

fooVector(locator)您要表達什么?

fooVector是變量而不是函數。

如果在使用locator器迭代器之前正確對其進行了初始化,則應將代碼更改為

if(locator->getBoo() + (insertBar.geBoo()) < 4000)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM