पर क्रैश करता है, मैं इसे 2 घंटों के लिए डिबग कर रहा हूं, और यह इससे उबाल जाता है। अगर मैं QString::toStdString
क्यूस्ट्रिंग :: toStdString() std :: स्ट्रिंग विनाशक
QString s = "testtesttesttesttesttest";
const std::string &temp = s.toStdString();
फोन कार्यक्रम बाद में std :: स्ट्रिंग नाशक
__CLR_OR_THIS_CALL ~basic_string()
{ // destroy the string
_Tidy(true); // <---- It crashes on this line.
}
पर दुर्घटनाओं मैंने सोचा कि यह पहली बार में स्मृति भ्रष्टाचार था, लेकिन ऐसा होता है, भले ही main()
केवल उन 2 पंक्तियां हैं। क्या कोई जानता है कि ऐसा क्यों होता है, और मैं इसे कैसे ठीक कर सकता हूं?
मेरा क्यूटी संस्करण 4.8.1
है।
क्यूटी किस संस्करण का उपयोग कर रहे हैं? क्या होता है यदि किसी संदर्भ के बजाय आप स्ट्रिंग 'स्ट्रिंग temp = s.toStdString();' की एक प्रति संग्रहीत करते हैं? – RedX
वही बात 'स्ट्रिंग temp = s.toStdString();' के साथ होती है; ', यह पहले ऐसा होता है क्योंकि' toStdString() 'द्वारा लौटाए गए अस्थायी चर के विनाशक को तुरंत कॉल किया जाता है। मैं क्यूटी का संस्करण कैसे देख रहा हूं जिसका उपयोग मैं कर रहा हूं? मैं कहां देखूं परियोजना अन्य लोगों द्वारा स्थापित की गई है, मुझे क्यूटी निर्माता के साथ केवल विजुअल स्टूडियो के साथ क्यूटी का उपयोग करने का अनुभव नहीं है। – sashoalm
इसे आज़माएं: 'std :: string stdUtf8 = qs.toUtf8()। ConstData();' – Najzero