2012-06-27 45 views
5

EN VS 2010 Pro recibo que indica un error de compilación "espera una identificador "en la porción max() del comando. Parece que en el archivo de encabezado windows.h hay un máximo (a, b) identificado y quiere usar eso.std :: cin.ignore (std :: numeric_limits <std :: streamsize> :: max(), ' n') de error al utilizar # include <Windows.h>

He intentado utilizar el # include también, pero eso no soluciona el problema

¿Hay alguna forma de evitar esto?

+0

posible duplicado de [std :: max - se esperaba un identificador] (http://stackoverflow.com/questions/7035023/stdmax-expected-an-identifier) ​​ – ildjarn

+0

otro duplicado [macro "max" requiere 2 argumentos, pero solo 1 dado] (http://stackoverflow.com/questions/518517/macro-max-requires-2-arguments-but-only-1-given) – jrok

Respuesta

12

El encabezado <windows.h> tiene las macros min() y max() desde tiempos inmemoriales, y con frecuencia causan problemas con C++. Afortunadamente, puede desactivarlos agregando #define NOMINMAX antes de incluir <windows.h>.

+0

Tu respuesta es mejor que la mía. –

Cuestiones relacionadas