Trong khi đủ điều kiện một giá trị liệt kê với tên của điều tra là không hợp lệ C++ 03, nó là hợp lệ C++ 11, từ những gì tôi hiểu. Mặc dù vậy, MSVC 10 tạo ra cảnh báo C4482 sau:Có an toàn khi tắt cảnh báo MSVC C4482 không?
enum E { A, B };
int i = E::A; // warning C4482 (but valid C++11?)
Vì hầu hết mã của chúng tôi sử dụng C++ 11 tính năng (đặc biệt là lambdas), có vẻ như an toàn để vô hiệu hóa cảnh báo này. Tôi có phải là mã hợp lệ C++ 11 không?
Lưu ý: Tôi đã không viết mã được đề cập và tôi không muốn đi qua và thay đổi mọi lần xuất hiện của điều này.
Chỉnh sửa: Đã thêm một số liên kết có liên quan.
- MSDN page for the warning.
- Another question about the warning. Các câu hỏi và câu trả lời tất cả dường như tham khảo C + + 03.
Cảm ơn. Đó là những gì tôi đã nghĩ. Tôi cần một ai đó để xác minh rằng tôi đã không bỏ lỡ điều gì đó. – jakar