![](/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.