Hãy xem xét tôi có một tên lớp Người. Tôi đang lưu trữ các con trỏ tới những người này trong một bản đồLàm thế nào để xử lý một bản đồ với con trỏ?
map<string, People*> myMap;
Để tạo người mới tôi sử dụng toán tử map [].
myMap["dave"]->sayHello();
Nhưng điều này mang lại cho tôi lỗi phân đoạn và thậm chí không gọi hàm tạo của lớp Mọi người.
Tôi cũng đã cố gắng
myMap.insert(std::make_pair("dave", new People()));
Nhưng điều đó không thay đổi bất cứ điều gì, các vị thi công vẫn không được gọi và chương trình tắt chế biến mã này với một lỗi phân khúc.
Làm cách nào để truy cập và thao tác bản đồ với con trỏ trong đó? Tại sao không phải là ở trên làm việc, tôi không nhận được lỗi thời gian biên dịch hoặc cảnh báo.
Bất kỳ cái nhìn sâu sắc nhiều đánh giá cao, cảm ơn bạn
hoặc con trỏ thông minh, nếu việc xây dựng 'Con người' là đắt tiền –
Cảm ơn bạn đã giải thích rõ ràng! – user1356190