我尝试使用 boost 中的以下示例:
#include <boost/container/map.hpp>
struct data
{
std::string label;
//A map holding still undefined 'data'
boost::container::map<std::string, data> m_;
};
int main(int argc, char* argv[])
{
data d,d1,d2;
d.m_["hello"] = d1;
return 0;
}
不幸的是它没有编译,我不知道为什么。
编译器消息(仅结束):../../3d_party_4_5_8/boost_1_49_0/boost/container/detail/tree.hpp|183| 错误:没有匹配 גoperator=ג in ג((boost::container::container_detail::rbtree_node, std::allocator >, data>, void*>*)this)->boost::container::container_detail:: rbtree_node, std::allocator >, data>, void*>::m_data.boost::container::container_detail::pair, std::allocator >, data>::second = p->boost::container:: container_detail::pair, std::allocator >, data>::second 和 Analyzer.cpp|139| 注意:候选人是:data& data::operator=(data&)