簡體   English   中英

使用向量迭代器訪問方法

[英]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.

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