繁体   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