मैं समझने के लिए मामला और वेरिएंट अनदेखी तार तुलना करने के लिए बढ़ावा :: लोकेल उपयोग करने के लिए प्रयास करें। मैं सीधे बूस्ट प्रलेखन से एक कोड की कोशिश की:क्यों std :: bad_cast boost :: locale द्वारा फेंक दिया गया है?
http://www.boost.org/doc/libs/1_51_0/libs/locale/doc/html/collation.html
boost::locale::generator gen;
std::locale vLocale = gen("");
std::wstring a=L"Façade", b=L"facade";
// Following will throw bad_cast
bool eq = std::use_facet<boost::locale::collator<wchar_t>>(vLocale).compare(
boost::locale::collator_base::secondary,
a,
b
) == 0;
if(eq) std::cout << "OK" << std::endl;
इस कोड को एक एसटीडी फेंक होगा :: bad_cast अपवाद है जब चल रहा है। मैं बढ़ावा :: स्थान :: जनरेटर के निर्माता में मानकों का एक बहुत कोशिश की। क्या मुझे किसी समस्या का सामना करना पड़ता है?
मैं सी ++ 11 उपयोग कर रहा हूँ जी के साथ ++ 4.6 और 1.51.0
बस एक संकेत के रूप में, 'bad_cast' _exception_ संकेत दे रहा है कि दिया गया' लोकेल 'अनुरोधित' पहलू 'नहीं है। –