读书人

stl 编译异常有关问题,

发布时间: 2012-02-06 15:52:44 作者: rapoo

stl 编译错误问题,急急急!!!
程序中有段代码如下:
CHLAObject* CRecorder::getObjInstance(RTI::ObjectClassHandle handle)
{
map <RTI::InteractionClassHandle, CHLAInteraction*> ::iterator res = this-> objectClassHandleMap.find(handle);
.....
};

其中:CHLAObject是一个类,RTI::ObjectClassHandle是一个整形数,为啥编译的时候这段报错如下:
d:\vc projects\Recorder\Recorder\Recorder.cpp(15) : error C2440: 'initializing ' : cannot convert from 'std::_Tree <_Traits> ::iterator ' to 'std::_Tree <_Traits> ::iterator '
with
[
_Traits=std::_Tmap_traits <RTI::ObjectClassHandle,CHLAObject *,std::less <RTI::ObjectHandle> ,std::allocator <std::pair <const RTI::ObjectClassHandle,CHLAObject *> > ,false>
]
and
[
_Traits=std::_Tmap_traits <RTI::InteractionClassHandle,CHLAInteraction *,std::less <RTI::ObjectHandle> ,std::allocator <std::pair <const RTI::InteractionClassHandle,CHLAInteraction *> > ,false>
]
No constructor could take the source type, or constructor overload resolution was ambiguous

百度了些帖子, 试了些方法都不好使..求助!!!!
谢谢!!

[解决办法]
map <RTI::InteractionClassHandle, CHLAInteraction*> ::iterator
和this中的类型一样么
[解决办法]
cannot convert from 'std::_Tree <_Traits> ::iterator ' to 'std::_Tree <_Traits> ::iterator '

这两者类型是一样的啊

读书人网 >C++

热点推荐