সি ++ 11, উবুন্টু 14.04, জিসিসি ডিফল্ট টুলচেন ব্যবহার করে ।
এই কোড ব্যর্থ:
constexpr std::string constString = "constString";
ত্রুটি: কনস্টেক্সপ্র ভেরিয়েবল 'কনস্ট্রিং' এর টাইপ 'কনস্ট স্ট্রিং {ওরফে কনস্ট স্ট্র্যাড :: বেসরাল_স্ট্রিং}' আক্ষরিক নয় ... কারণ ... 'স্টাড :: বেসিক_স্ট্রিং'-এ একটি তুচ্ছ ত্রুটিযুক্ত ডেস্ট্রাক্টর রয়েছে
এটি ব্যবহার করা সম্ভব std::string
একটি constexpr
? (আপাতভাবে নয় ...) যদি তা হয় তবে কীভাবে? একটিতে অক্ষরের স্ট্রিং ব্যবহারের বিকল্প উপায় আছে কি constexpr
?
std::string
কনসেক্সপ্রপ হতে চান ? এসওতে বিভিন্ন সংকলন-সময়ের স্ট্রিং বাস্তবায়ন রয়েছে। আপনি যদি ত্রুটি বার্তাটি বুঝতে পারছেন এবং কেবল আক্ষরিক প্রকারগুলিই কনটেক্সপ্রপ তৈরি করতে পারবেন তবে আপনি যদি একটি অ-আক্ষরিক ধরণের কনটেক্সপ্রপ তৈরি করতে পারেন তবে এটি জিজ্ঞাসা করার কী অর্থ? পাশাপাশি বেশ কিছু কারণে এক একটি constexpr উদাহরণস্বরূপ করতে চান করতে পারে, তাই আমি আপনাকে আপনার প্রশ্নের নির্মল হয়,
constexpr
স্ট্রিং বাস্তবায়ন আছে। std::string
তাদের মধ্যে একটি নয়।
std::string
আক্ষরিক ধরণের নয়