0

好的,我有以下代码:

for(deque<Ogre::Vector3>::iterator iter(mWalkList.begin()); iter != mWalkList.end() ;  iter++){
            String tmpstr="Knot"+Ogre::StringConverter::toString(n);
            ent = mSceneMgr->createEntity(tmpstr, "knot.mesh");
            tmpstr = "Knot"+Ogre::StringConverter::toString(n)+"Node";
            node = mSceneMgr->getRootSceneNode()->createChildSceneNode(tmpstr,*iter);
            node->attachObject(ent);
            node->setScale(0.1f, 0.1f, 0.1f);
            n++;
        }  

但是当我将鼠标悬停时,Visual Studio 给了我一个错误,上面iterator iter写着以下内容:Error: class "Ogre::deque<Ogre::Vector3, Ogre::STLAllocator<Ogre::Vector3, Ogre::GeneralAllocPolicy>>" has no member 'iterator'

我究竟做错了什么,

抱歉,我是 Ogre 和 C++ 的新手,它是一个学校项目,所以我非常感谢一些帮助。

4

1 回答 1

0

尝试使用std::deque<Ogre::Vector3>代替deque<Ogre::Vector3>Ogre::deque<Ogre::Vector3>在这种情况下)。

或者你可以使用Ogre::deque<Ogre::Vector3>::type. 文档似乎说这与std::deque上述相同。

于 2011-09-13T15:41:36.550 回答