बस सी ++ सीखना, इसलिए मैं इसे सही ढंग से समझ नहीं सकता, लेकिन मैंने केवल पढ़ा है कि रेंज सम्मिलित फ़ंक्शन नए मानक (सी ++ प्राइमर 5 वें एड, cplusplus.com, cppreference.com, और इसका उपयोग करने के लिए सुझाव देने वाले विभिन्न उत्तरों के तहत एक पुनरावर्तक देता है इटरेटर वैधता बनाए रखने के लिए)।एसटीएल कंटेनर रेंज सम्मिलित कार्य सी ++ 11 के तहत शून्य लौट रहे हैं?
cppreference.com से:
template< class InputIt >
iterator insert(const_iterator pos, InputIt first, InputIt last);
हालांकि, यह है कि मैं कोशिश की है Cygwin जीसीसी और MinGW के हर संस्करण वापस आ गया है शून्य = C++ 11 -std का उपयोग कर। यहां तक कि हेडर को देखकर ऐसा लगता है कि यह कैसे लिखा गया है, और ऐसा कुछ भी नहीं है जिसे मैं ठीक करने के लिए संशोधित कर सकता हूं।
मुझे क्या याद आ रही है?
यहां 'अध्याय अभ्यास का अंत' कार्य है जिसे मैं लिखने का प्रयास कर रहा था; एक दिया स्ट्रिंग के भीतर एक और के साथ एक स्ट्रिंग की जगह:
(मैं समझता हूँ के रूप में जिस तरह से यह लिखा है इरादा यह कार्य नहीं करेगा)
void myfun(std::string& str, const std::string& oldStr, const std::string& newStr)
{
auto cur = str.begin();
while (cur != str.end())
{
auto temp = cur;
auto oldCur = oldStr.begin();
while (temp != str.end() && *oldCur == *temp)
{
++oldCur;
++temp;
if (oldCur == oldStr.end())
{
cur = str.erase(cur, temp);
// Here we go. The problem spot!!!
cur = str.insert(cur, newStr.begin(), newStr.end());
break;
}
}
++cur;
}
}
कौन सा * MinGW के संस्करण * आप उपयोग कर रहे हैं? कृपया * "हर संस्करण" * मत कहें। यह मदद नहीं करता है। विशिष्ट होना। – Nawaz
आह, धन्यवाद। Mingw-get-inst-20120426.exe का उपयोग करके नवीनतम निर्माण, 4.6.2; i686-W64-mingw32-जीसीसी-dw2-4.8.0-win32_rubenvb; x86_64-W64-mingw32-जीसीसी-4.6.3-2 रिलीज-win64_rubenvb; और मिनजीडब्ल्यू-टीडीएम 4.7.1-dw2 – Habnab
आज़माएं। जीसीसी '4.8.0'। यह नवीनतम है! – Nawaz