यादृच्छिक संख्याओं के वेक्टर उत्पन्न करने की कोशिश करते समय मैं एक std :: bad_alloc त्रुटि में ठोकर खा जाता हूं। मैं अब तक generate()
प्रयोग करते हैं, लेकिन अभी भी उत्सुक हूँ क्यों यह असफलbad_alloc?
#include "search.h"
#include "gtest/gtest.h"
int _size = 100;
std::vector<int> GetSortedVector(int size){
//init vector
std::vector<int> v(size);
//fill with random numbers
for (std::vector<int>::size_type i=0; i < v.size(); i++)
v.push_back(std::rand()%(2*size));
//return the setup vector
return v;
}
//triggered automatically
TEST(BinarySearch, NonUniqueSorted){
std::vector<int> v = GetSortedVector(_size);//nothing moves farther than this line
}
पी.एस .:: यहाँ मेरी कोड है।
पाश के लिए आरक्षण के मामले में क्षमता आकार नहीं के खिलाफ जांच करने के लिए संशोधित किया जाना चाहिए। – Kimi
@ किमी सही, इसके बारे में भूल गए। –
मुझे नहीं लगता कि 'क्षमता' के खिलाफ जांच करना एक अच्छा विचार होगा, क्योंकि जहां तक मुझे पता है कि' रिजर्व 'को आवंटित करने की अनुमति है * (यदि संभवतः यह वास्तव में नहीं कर रहा हो)। इसके बजाय बस 'आकार' (फ़ंक्शन तर्क) के विरुद्ध जांचें। –