2012-01-17 43 views
0

我意识到这可能是重复的,但我搜索了很多论坛和问题并知道是什么导致了这个问题,但不能在这里发现它。我使用SFML 2.0,我已经查明错误:”错误C2248:'sf :: NonCopyable :: NonCopyable':无法访问在类'sf :: NonCopyable'中声明的私有成员'“

void GameObjectManager::DrawAll(sf::RenderWindow& wnd){ 
    std::map<sf::String,VisibleGameObject*>::const_iterator itr; 
    for(itr = gameObjects.begin();itr!=gameObjects.end();itr++){ 
     itr->second->draw(wnd); 
     itr++; 
    } 
} 

我想这是不是可复制的,但我看不出它是在这里。

+0

尽管与您描述的错误无关,但代码会将迭代器递增两次。你确定这就是你想要的吗? – 2012-01-17 16:18:48

+0

'++ itr'可能比'itr ++'效果更好。你真的有意在这个循环中有两个增量? – 2012-01-17 16:19:02

+1

完整的错误消息应该通常显示什么试图调用什么,或试图调用copy ctor。 – PlasmaHH 2012-01-17 16:19:14

回答

1

RenderWindow继承自sfNonCopyable

VisibleGamObject.draw()可能试图复制wnd

相关问题