2012-06-27 42 views
5

IN VS 2010 Pro Tôi nhận được lỗi biên dịch cho biết "mong đợi một định danh "trên phần tối đa() của lệnh. Dường như trong tệp tiêu đề windows.h có một giá trị tối đa (a, b) được xác định và nó muốn sử dụng nó.std :: cin.ignore (std :: number_limits <std :: streamize> :: max(), ' n') lỗi khi sử dụng #include <Windows.h>

tôi cố gắng sử dụng #include cũng nhưng điều đó không khắc phục được vấn đề

Liệu có cách nào để làm được việc này?

+0

bản sao có thể có của [std :: max - dự kiến ​​một số nhận dạng] (http://stackoverflow.com/questions/7035023/stdmax-expected-an-identifier) ​​ – ildjarn

+0

một bản sao khác [macro “max” yêu cầu 2 đối số, nhưng chỉ 1 được cung cấp] (http://stackoverflow.com/questions/518517/macro-max-requires-2-arguments-but-only-1-given) – jrok

Trả lời

12

Tiêu đề <windows.h> đã có các macro min()max() từ thời xa xưa và chúng thường gây ra sự cố với C++. May mắn thay, bạn có thể tắt chúng bằng cách thêm #define NOMINMAX trước khi bao gồm <windows.h>.

+0

Câu trả lời của bạn tốt hơn tôi. –

Các vấn đề liên quan