blog blog::operator+(const blog * b)
{
next = b; //blog * next; it's a next pointer in a doubly linked list.
return * this;
}
Tôi đã tự hỏi liệu có cách nào tôi có thể gán b cho con trỏ tiếp theo của nút hiện tại hay không. Có cách nào khác mà tôi có thể làm được không? Hiện tại tôi đang nhận đượcChuyển đổi không hợp lệ? Chỉ định con trỏ const cho con trỏ
invalid conversion from ‘const blog*’ to ‘blog*’ [-fpermissive]
Xem xét ghi chú của tôi, có vẻ như tôi nên sử dụng hằng số khi thực hiện quá tải toán tử, nhưng hiện tại nó không thực sự biên dịch. Làm cách nào tôi có thể truyền blog const * b vào con trỏ tiếp theo? Cảm ơn!
Tại sao bạn muốn? Bạn không thể sửa đổi các hằng số mà không cần gọi hành vi không xác định. Đúc và quên không phải là một giải pháp. – chris
Bạn không được phép, trừ khi triệu hồi Satan và 'const_cast' của mình. Nếu con trỏ này đã được đánh dấu là 'const' trong ngữ cảnh đó, nó có nghĩa là nó sẽ không cho phép bất kỳ cách nào để sửa đổi nó. – Nbr44
Tại sao bạn sử dụng toán tử '+' để _assign_ một giá trị cho đối tượng của bạn? –