โดยใช้ C ++ 11, อูบุนตู 14.04, toolchain
รหัสนี้ล้มเหลว:
constexpr std::string constString = "constString";
ข้อผิดพลาด: ประเภท 'สตริง const {aka const std :: basic_string}' ของตัวแปร constexpr 'constString' ไม่ใช่ตัวอักษร ... เพราะ ... 'std :: basic_string' มี destructor ที่ไม่สำคัญ
เป็นไปได้ที่จะใช้std::string
ในconstexpr
? (เห็นได้ชัดว่าไม่ใช่ ... ) ถ้าเป็นเช่นนั้นได้อย่างไร มีวิธีอื่นในการใช้สตริงอักขระในconstexpr
?
std::string
ถึงต้องการเป็น constexpr มีการใช้งานสตริงการคอมไพล์หลายครั้งบน SO อะไรคือจุดที่ถามว่าคุณสามารถสร้าง constexpr ที่ไม่ใช่ตัวอักษรได้หรือไม่ถ้าคุณเข้าใจข้อความแสดงข้อผิดพลาดและรู้ว่าสามารถสร้าง constexpr ได้อย่างไร มีหลายสาเหตุว่าทำไมคนเราอาจต้องการมีตัวอย่างของกลุ่มข้อความดังนั้นฉันขอแนะนำให้คุณอธิบายคำถามของคุณ
constexpr
การใช้งานสตริงออกมี std::string
ไม่ใช่หนึ่งในนั้น
std::string
ไม่ใช่ประเภทที่แท้จริง