2011-10-15 34 views

Trả lời

14

Các constructor của std::string mà phải mất một con trỏ đến char không phải là constexpr. Trong các hàm constexpr, bạn chỉ có thể sử dụng các hàm constexpr.

+0

Cảm ơn, không biết điều đó trước đây. – smallB

+2

+1 và lý do mà hàm tạo đó không thể là 'constexpr' là nó có tác dụng phụ (cụ thể là phân bổ) không thể thực hiện tại thời gian biên dịch. –

+0

Nhưng bạn không nghĩ rằng đây là (ví dụ cụ thể này) bit ngớ ngẩn? chuỗi chữ là const, vì vậy tôi nghĩ rằng ctor của chuỗi nên được thực hiện constexpr để cho phép các cấu trúc như vậy trong tương lai. – smallB

Các vấn đề liên quan