gpt4 book ai didi

c++ - 指向指针 vector 的 vector

转载 作者:行者123 更新时间:2023-11-28 07:30:52 25 4
gpt4 key购买 nike

在我的框架类中,我声明了这个 vector :std::vector<sf::Drawable*> drawableStack;

当 drawableStack 全部填满后,我想像这样循环绘制所有对象:

void Framework::drawScreen()
{
window->clear();

std::vector<sf::Drawable*>::iterator itr;

for(itr=drawableStack.begin(); itr!=drawableStack.end(); itr++)
{
window->draw(itr);
}

window->display();
}

窗口在 header 中声明 sf::RenderWindow* window;绘制函数是sf::RenderWindow::draw(const sf::Drawable&)错误是error: no matching function for call to 'sf::RenderWindow::draw(std::vector<sf::Drawable*>::iterator&' .做什么?

最佳答案

您忘记取消引用迭代器。更改此行:

window->draw(itr);

window->draw(**itr);

您必须取消引用它两次。一次是从迭代器到达它指向的 sf::Drawable*,第二次是因为 vector 包含指针并且函数将引用作为参数。

关于c++ - 指向指针 vector 的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17755435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com