là gì khi chạy chương trình của tôi, tôi nhận được lỗi này:ý nghĩa của C++ Lỗi std :: length_error
terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_S_create
Abort trap
Tôi biết rằng bạn không thể làm được gì nhiều mà không cần mã nhưng tôi nghĩ rằng lỗi này là quá sâu trong mã để sao chép tất cả. Có lẽ tôi có thể hình dung ra nếu tôi hiểu ý nghĩa của lỗi này. Đây có phải là dấu hiệu cho sự cố khi đọc hoặc viết sai địa chỉ bộ nhớ không?
Có điều gì tôi có thể làm để có thêm thông tin về sự cố từ chương trình của tôi không?
Bạn có thể đăng một số đoạn mã mà bạn đang truy cập vào chuỗi không? –
Chuỗi không phải là vấn đề. Sau một số thay đổi nhỏ và thêm thông báo gỡ lỗi tôi nhận được một segfault thực;) – Janusz
Ngoài câu trả lời của Kevin: Có lẽ bạn đã thực hiện một số tính toán có thể dẫn đến độ dài chuỗi âm? Bởi vì độ dài chuỗi là (bình thường) được lưu trữ như một giá trị không dấu, giá trị âm của bạn sẽ dẫn đến một giá trị cực dương lớn, chủ yếu là lớn hơn std :: string :: max_size()! – mmmmmmmm