Với các lớp dưới đây nằm trong hai tập tin tiêu đề riêng biệt và có thể xuất hiện trong bất kỳ thứ tự:C++ lớp mẫu xung đột
//TestB.h
class TestB; //Forward declaration for a later operator= in a centralised header
class TestA
{
const TestA&operator=(const TestB); //defined in Test.h
};
Và:
//TestA.h
class TestA; //Forward declaration for a later operator= in a centralised heaer
class TestB
{
const TestB&operator=(const TestA); //defined in Test.h
};
Làm thế nào để tránh những xung đột nguyên mẫu?
Trợ giúp được đánh giá cao.
Tôi hoàn toàn xin lỗi tất cả mọi người! Tôi đã có ý định cho có được tài liệu tham khảo (ký hiệu trong toán tử = đối số - Tôi sẽ không bao giờ vượt qua bằng cách sao chép thanh POD đơn giản) và có nghĩa là câu hỏi chỉ về prototyping xung đột! Tôi đoán nó sẽ cho thấy tầm quan trọng của việc đọc bằng chứng! Tôi đã chấp nhận câu trả lời cho bối cảnh ban đầu (sai lầm của tôi).
Tôi chỉ đơn thuần là chỉ quay lại trong vài phút và không nhận biết được lỗi!
Ý bạn là "xung đột nguyên mẫu"? –
Không có gì sai ở đây - điều này sẽ làm việc tốt. Bạn sẽ cần phải giải thích các lỗi tốt hơn, và với mã thực. –
@Als: bạn có thể khai báo các hàm lấy các loại không đầy đủ theo giá trị; bạn chỉ không thể xác định hoặc gọi chúng cho đến sau định nghĩa của loại. –