2012-01-17 70 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

相關問題