void main()
{
typedef boost::ptr_map<int, char> MyMap;
//typedef std::map<int, char *> MyMap; // in contrast with std type it works
MyMap mymap;
mymap[1] = new char('a');
mymap[2] = new char('b');
mymap[3] = new char('c');
BOOST_FOREACH(MyMap::value_type value, mymap)
{
std::cout << value.first << " " << value.second << std::endl;
}
MyMap const & const_mymap = mymap;
BOOST_FOREACH(const MyMap::value_type value, const_mymap)
{
std::cout << value.first << " " << value.second << std::endl;
}
}
निम्न त्रुटि संदेश दूसरा BOOST_FOREACHक्यों BOOST_FOREACH कॉन्स बूस्ट :: ptr_map को संभाल नहीं सकता है?
error: conversion from 'boost::ptr_container_detail::ref_pair<int, const char* const>' to non-scalar type 'boost::ptr_container_detail::ref_pair<int, char* const>' requested
मुझे लगता है कि इस सूचक कंटेनर की ref_pair की कमजोरी है ...
मुझे यह पसंद आया जब तक कि मैं लाइब्रेरी को और जानने के लिए नहीं गया ... "" टायर टुपल्स हैं, जहां सभी तत्व गैर-कॉन्स्ट संदर्भ प्रकार हैं। "प्रश्न विशेष रूप से 'कॉन्स्ट' संदर्भों के बारे में है। – Dennis
यह अभी भी कॉन्स्ट मैप्स के साथ काम करेगा। गैर-कॉन्स्ट संदर्भ स्थानीय चर के लिए बाध्य है जो मानचित्र के तत्वों के लिए नहीं है। –
इसे फिर से देखेंगे। चीयर्स। – Dennis