I usualy work with VC6 (MFC), and I have a good virtual tree code sample from here[^] but when I compiled with VC6 I get follow error on follow line :
class CTVItemDataMMap
:public std::multimap<LONG, CTVItemData>
,public CLockableCS
{
public:
CTVItemDataMMap(){}
CTVItemDataMMap(CTVItemDataMMap& rhs)
{
insert(rhs.begin(), rhs.end()); }
~CTVItemDataMMap(){}
};
typedef std::multimap<LONG, CTVItemData>& TVITEMDATA_MMAP_REF;
and compilator response is :
TVItemDataMgr.cpp
d:\vc++\dlgbased\virtualtree\tvitemdata.h(105) : error C2664: 'class std::_Tree<long,struct std::pair<long const ,class CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,s
truct std::less<long>,class std::allocator<class CTVItemData> >::iterator __thiscall std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::insert(class std::_Tree<long,struct std::pair<long const ,cla
ss CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,struct std::less<long>,class std::allocator<class CTVItemData> >::iterator,const struct std::pair<long const ,class CT
VItemData> &)' : cannot convert parameter 2 from 'class std::_Tree<long,struct std::pair<long const ,class CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,struct std::le
ss<long>,class std::allocator<class CTVItemData> >::iterator' to 'const struct std::pair<long const ,class CTVItemData> &'
Reason: cannot convert from 'class std::_Tree<long,struct std::pair<long const ,class CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,struct std::less<long>,clas
s std::allocator<class CTVItemData> >::iterator' to 'const struct std::pair<long const ,class CTVItemData>'
No constructor could take the source type, or constructor overload resolution was ambiguous
TVItemDataMgrFolders.cpp
d:\vc++\dlgbased\virtualtree\tvitemdata.h(105) : error C2664: 'class std::_Tree<long,struct std::pair<long const ,class CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,s
truct std::less<long>,class std::allocator<class CTVItemData> >::iterator __thiscall std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::insert(class std::_Tree<long,struct std::pair<long const ,cla
ss CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,struct std::less<long>,class std::allocator<class CTVItemData> >::iterator,const struct std::pair<long const ,class CT
VItemData> &)' : cannot convert parameter 2 from 'class std::_Tree<long,struct std::pair<long const ,class CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,struct std::le
ss<long>,class std::allocator<class CTVItemData> >::iterator' to 'const struct std::pair<long const ,class CTVItemData> &'
Reason: cannot convert from 'class std::_Tree<long,struct std::pair<long const ,class CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,struct std::less<long>,clas
s std::allocator<class CTVItemData> >::iterator' to 'const struct std::pair<long const ,class CTVItemData>'
No constructor could take the source type, or constructor overload resolution was ambiguous
TVItemDataMgrPublic.cpp
d:\vc++\dlgbased\virtualtree\tvitemdata.h(105) : error C2664: 'class std::_Tree<long,struct std::pair<long const ,class CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,s
truct std::less<long>,class std::allocator<class CTVItemData> >::iterator __thiscall std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::insert(class std::_Tree<long,struct std::pair<long const ,cla
ss CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,struct std::less<long>,class std::allocator<class CTVItemData> >::iterator,const struct std::pair<long const ,class CT
VItemData> &)' : cannot convert parameter 2 from 'class std::_Tree<long,struct std::pair<long const ,class CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,struct std::le
ss<long>,class std::allocator<class CTVItemData> >::iterator' to 'const struct std::pair<long const ,class CTVItemData> &'
Reason: cannot convert from 'class std::_Tree<long,struct std::pair<long const ,class CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,struct std::less<long>,clas
s std::allocator<class CTVItemData> >::iterator' to 'const struct std::pair<long const ,class CTVItemData>'
No constructor could take the source type, or constructor overload resolution was ambiguous
TVItemDataMgrThreads.cpp
d:\vc++\dlgbased\virtualtree\tvitemdata.h(105) : error C2664: 'class std::_Tree<long,struct std::pair<long const ,class CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,s
truct std::less<long>,class std::allocator<class CTVItemData> >::iterator __thiscall std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::insert(class std::_Tree<long,struct std::pair<long const ,cla
ss CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,struct std::less<long>,class std::allocator<class CTVItemData> >::iterator,const struct std::pair<long const ,class CT
VItemData> &)' : cannot convert parameter 2 from 'class std::_Tree<long,struct std::pair<long const ,class CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,struct std::le
ss<long>,class std::allocator<class CTVItemData> >::iterator' to 'const struct std::pair<long const ,class CTVItemData> &'
Reason: cannot convert from 'class std::_Tree<long,struct std::pair<long const ,class CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,struct std::less<long>,clas
s std::allocator<class CTVItemData> >::iterator' to 'const struct std::pair<long const ,class CTVItemData>'
No constructor could take the source type, or constructor overload resolution was ambiguous
TVItemDataMgrTree.cpp
d:\vc++\dlgbased\virtualtree\tvitemdata.h(105) : error C2664: 'class std::_Tree<long,struct std::pair<long const ,class CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,s
truct std::less<long>,class std::allocator<class CTVItemData> >::iterator __thiscall std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::insert(class std::_Tree<long,struct std::pair<long const ,cla
ss CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,struct std::less<long>,class std::allocator<class CTVItemData> >::iterator,const struct std::pair<long const ,class CT
VItemData> &)' : cannot convert parameter 2 from 'class std::_Tree<long,struct std::pair<long const ,class CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,struct std::le
ss<long>,class std::allocator<class CTVItemData> >::iterator' to 'const struct std::pair<long const ,class CTVItemData> &'
Reason: cannot convert from 'class std::_Tree<long,struct std::pair<long const ,class CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,struct std::less<long>,clas
s std::allocator<class CTVItemData> >::iterator' to 'const struct std::pair<long const ,class CTVItemData>'
No constructor could take the source type, or constructor overload resolution was ambiguous
VirtualTree.cpp
d:\vc++\dlgbased\virtualtree\tvitemdata.h(105) : error C2664: 'class std::_Tree<long,struct std::pair<long const ,class CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,s
truct std::less<long>,class std::allocator<class CTVItemData> >::iterator __thiscall std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::insert(class std::_Tree<long,struct std::pair<long const ,cla
ss CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,struct std::less<long>,class std::allocator<class CTVItemData> >::iterator,const struct std::pair<long const ,class CT
VItemData> &)' : cannot convert parameter 2 from 'class std::_Tree<long,struct std::pair<long const ,class CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,struct std::le
ss<long>,class std::allocator<class CTVItemData> >::iterator' to 'const struct std::pair<long const ,class CTVItemData> &'
Reason: cannot convert from 'class std::_Tree<long,struct std::pair<long const ,class CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,struct std::less<long>,clas
s std::allocator<class CTVItemData> >::iterator' to 'const struct std::pair<long const ,class CTVItemData>'
No constructor could take the source type, or constructor overload resolution was ambiguous
VirtualTreeDlg.cpp
d:\vc++\dlgbased\virtualtree\tvitemdata.h(105) : error C2664: 'class std::_Tree<long,struct std::pair<long const ,class CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,s
truct std::less<long>,class std::allocator<class CTVItemData> >::iterator __thiscall std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::insert(class std::_Tree<long,struct std::pair<long const ,cla
ss CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,struct std::less<long>,class std::allocator<class CTVItemData> >::iterator,const struct std::pair<long const ,class CT
VItemData> &)' : cannot convert parameter 2 from 'class std::_Tree<long,struct std::pair<long const ,class CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,struct std::le
ss<long>,class std::allocator<class CTVItemData> >::iterator' to 'const struct std::pair<long const ,class CTVItemData> &'
Reason: cannot convert from 'class std::_Tree<long,struct std::pair<long const ,class CTVItemData>,struct std::multimap<long,class CTVItemData,struct std::less<long>,class std::allocator<class CTVItemData> >::_Kfn,struct std::less<long>,clas
s std::allocator<class CTVItemData> >::iterator' to 'const struct std::pair<long const ,class CTVItemData>'
No constructor could take the source type, or constructor overload resolution was ambiguous
maybe is small thing to do, can you help me ? I really need to this control, and I don't know how to solved ...
Should put here more information ?
|