【发布时间】:2012-08-13 05:54:36
【问题描述】:
我需要帮助。尝试迭代集合时出现以下错误:
错误 1 错误 C2440:“正在初始化”:无法从 'std::_Tree_const_iterator<_mytree>' 到 'compound_objectNS::Compound_object *' c:\program 文件 (x86)\microsoft visual studio 10.0\vc\include\xmemory 208
我得到以下代码: 从文件“compound_object.cpp”中提取:
typedef compound_objectNS::Compound_object OBJECT
bool OBJECT::operator== (const Compound_object &object) const
{
return this == &object;
}
bool OBJECT::operator< (const Compound_object &object) const
{
return this->m_numberOfObject < object.m_numberOfObject;
}
这里允许 set 对其元素进行排序,我覆盖了运算符“==”和“
客户端文件:
for (objectImitatorNS::set<compound_objectNS::Compound_object*>::iterator it = Objects->begin();
it != Objects->end(); ++it)
{
this->m_imitatedObjects->insert(it);
}
我发现行时会引发错误
this->m_imitatedObjects->insert(it)
已执行。
如何解决这个问题?
【问题讨论】: