Compile Error using C::B , Ogre SDK and plsm for dagon SDK

azrael271

15-08-2006 21:58:43

hello , when i try to compile the plugin i get the following error :

..\src\OgrePagingLandScapeOptions.cpp:329: error: no match for 'operator=' in 'itCheck = (((Ogre::LandScapeFileNames*)((Ogre::PagingLandScapeOptions*)this)) + 740u)->stlp_std::map<_Key, _Tp, _Compare, _Alloc>::erase [with _Key = Ogre::String, _Tp = Ogre::String, _Compare = stlp_std::less<Ogre::String>, _Alloc = stlp_std::allocator<stlp_std::pair<const Ogre::String, Ogre::String> >](_Rb_tree_iterator<stlp_std::pair<const stlp_std::basic_string<char, stlp_std::char_traits<char>, stlp_std::allocator<char> >, stlp_std::basic_string<char, stlp_std::char

J:\Programmieren\OgreSDK\stlport\stlport\stl\_tree.h:149: note: candidates are: stlp_std::_Rb_tree_iterator<stlp_std::pair<const Ogre::String, Ogre::String>, stlp_priv::_MapTraitsT<stlp_std::pair<const Ogre::String, Ogre::String> > >& stlp_std::_Rb_tree_iterator<stlp_std::pair<const Ogre::String, Ogre::String>, stlp_priv::_MapTraitsT<stlp_std::pair<const Ogre::String, Ogre::String> > >::operator=(const stlp_std::_Rb_tree_iterator<stlp_std::pair<const Ogre::String, Ogre::String>, stlp_priv::_MapTraitsT<stlp_std::pair<const Ogre::String, Ogre::String> > >&)

suggestions for solving this would be welcome

tuan kuranes

22-08-2006 14:33:22

What gives :
const String cfgExt(".cfg");
for (; itCheck != iend; )
{
const String mapName (itCheck->first);
const String mapFileName (itCheck->second);
if (
!rgsm->resourceExists(cfgGroupName, mapFileName)
&&
!rgsm->resourceExists(cfgGroupName, mapFileName + cfgExt)
&&
!rgsm->resourceExists(cfgGroupName, mapName + cfgExt)
&&
!rgsm->resourceExists(cfgGroupName, mapName)
)
{
itCheck = mMapList.erase (itCheck);
}
else
{
++itCheck;
}
}

azrael271

23-08-2006 03:25:00

still the same problem in the line

itCheck = mMapList.erase (itCheck);

:(

tuan kuranes

23-08-2006 07:58:00

try this one :

mMapList.erase (itCheck++);

azrael271

01-09-2006 22:57:43

sorry for the late answer,had no internet connection the last days.
the line doesnt fix the problem its still complaining about the operator= :?

tuan kuranes

02-09-2006 08:49:35

which operator= ?

Code proposed is not :
itCheck = mMapList.erase (itCheck++);

But :
mMapList.erase (itCheck++);

Do you get an error with the latter ?

azrael271

02-09-2006 14:01:44

sry my fault, compiled fine now :-) thank you very much