2012-06-27 3 views
5

В VS 2010 Pro Я получаю ошибку компиляции, в которой указано, что «ожидается идентификатор "в макс() части команды. Кажется, что в заголовочном файле windows.h указан макс (a, b), и он хочет его использовать.std :: cin.ignore (std :: numeric_limits <std :: streamsize> :: max(), ' n') ошибка при использовании #include <Windows.h>

Я пытался использовать #include как хорошо, но это не решить проблему

Есть ли вообще обойти это?

+0

Возможный дубликат [std :: max - ожидаемый идентификатор] (http://stackoverflow.com/questions/7035023/stdmax-expected-an-identifier) ​​ – ildjarn

+0

другой дубликат [macro "max" требует 2 аргумента, но только 1 данный] (http://stackoverflow.com/questions/518517/macro-max-requires-2-arguments-but-only-1-given) – jrok

ответ

12

Заголовки min() и max() с незапамятных времен, и они часто вызывают проблемы с C++. К счастью, вы можете отключить их, добавив #define NOMINMAX, прежде чем включать <windows.h>.

+0

Ваш ответ лучше моего. –