Cảnh báo này xuất hiện khi bạn có một tuyên bố loại mâu thuẫn với một loại khác (một nói là "lớp", câu hỏi kia nói "struct"). Với quy tắc định nghĩa một, tất cả các khai báo ngoại trừ nhiều nhất là một khai báo chuyển tiếp. Cảnh báo nói chung sẽ chỉ ra rằng một tờ khai chuyển tiếp của một loại là sai và thường là một lỗi đánh máy đơn giản và cần được sửa. Trong trường hợp này không nên có tác dụng phụ, nhưng bạn thực sự nên sửa chữa nó. Tuy nhiên, có thể có một số điều rất khó chịu xảy ra nếu bạn có xung đột tên loại (có thể do sử dụng mệnh đề "sử dụng không gian tên" hoặc ô nhiễm không gian tên toàn cầu). Những cảnh báo này có thể chỉ ra rằng bạn đang trộn tiêu đề từ hai thư viện khác nhau và tên loại có xung đột. Mã được biên dịch trong các điều kiện này có thể làm một số điều rất bất ngờ.
Lời khuyên của tôi - hiểu lý do cảnh báo xuất hiện và khắc phục. Nếu cảnh báo nằm trong sản phẩm của bên thứ ba, hãy nhấn mạnh rằng họ sẽ khắc phục.
Nguồn
2009-01-22 09:52:56
Lời khuyên tuyệt vời, cảm ơn. –
MS Mangling Scheme tại http://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B_Name_Mangling#Data_Type: 'union' được mã hóa thành' T', 'struct' thành' U' và 'class' là' V' . –
Xin cảm ơn! , tôi có thể tìm thấy một cấu trúc typedef ..., khiến tôi cảnh báo này. – HadesDX