Tôi có một lớp cơ sở trừu tượng được gọi là hình dạng mà từ đó cả hai hình tròn và hình chữ nhật có nguồn gốc, nhưng khi tôi thực thi mã sau trong VS 2005 tôi nhận được lỗi Debug khẳng định thất bại. Đồng thời tôi đã không quá tải toán tử == trong bất kỳ lớp nàoVector iterator không dereferencable
Biểu thức: Vector iterator không dereferencable, lý do cho việc này là gì.
vector<Shape*> s1;
s1.push_back(new Circle(point(1,2),3));
s1.push_back(new Circle(point(4,3),5));
s1.push_back(new Rectangle(point(1,1),4,5));
vector<Shape*> s2(s1);
reverse(s1.begin(),s1.end());
(*find(s1.begin(),s1.end(),new Circle(point(1,2),3)))->move(point(10,20));
Và để so sánh Đối tượng hình dạng thay vì sử dụng Hình dạng con trỏ tăng :: ptr_vector. Điều này cho phép bạn sử dụng các thuật toán thông thường tự nhiên hơn nhiều. –