![](/img/trans.png)
[英]Accessing a method of a class object stored in a vector using an Iterator. How?
[英]accessing a method using a vector iterator
我有兩個C ++對象。 其中第一個包含一個向量的向量,該向量的聲明為:
std::vector<WormCell> cells; // The dynamic array of the worms cells
在第一種方法中,我嘗試使用迭代器遍歷向量並在第二種方法中調用方法,但出現錯誤。 調用該方法的代碼是:
void Worm::drawWorm(sf::RenderWindow &window)
{
for (std::vector<WormCell>::iterator it = cells.begin() ; it != cells.end(); ++it)
{
sf::Vector2f pos = it->getPosition;
circle.setPosition(pos);
}
}
錯誤是:
錯誤:綁定到函數的指針只能用於調用該函數。
發生在it-> getPosition上。
如何使用迭代器訪問單元格中的方法?
調用函數需要一個參數列表:
it->getPosition();
^^
您正在調用該函數,就好像它是數據成員一樣。
不要忘了寄生。 嘗試:
it->getPosition()
代替
it->getPosition
希望有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.