2012-01-20 9 views
6

Estoy usando Visual Studio 2010 Express. Cuando utilizo ciertos nombres de variables, como el "próximo 'lejos', 'IN', 'OUT', no puedo compilar: recibo errores de sintaxis situados después del nombre de la variable usada Ejemplo:.Visual Studio no me permite usar ciertos nombres de variable

z = 1.0/(far - near); 

error:?.

error C2059: syntax error : ')' 

¿Cómo puedo desactivar esta "característica"

Respuesta

12

far y near fueron construidos en palabras clave compilador de vuelta en el día de 16 bits ya no existen y que ya no tiene ningún significado , pero aún están definidos como macros en Windows encabezados por razones de compatibilidad con versiones anteriores.

Si no desea que ellos, al igual undefine ellos (o no incluyen las cabeceras de Windows):

#undef far 
#undef near 
+0

Gracias, funciona. ¿Existe una opción para desactivar todas esas palabras clave (que no forma parte del estándar de C++)? – user1161552

+1

@ user1161552: Sí, quite la línea que dice '#include ' de su código. No son palabras clave, son macros definidas en los encabezados de Windows. –

+0

Acabo de encontrar su respuesta y quiero señalar, que este hubiera sido un ejemplo perfecto de lo que el espacio de nombre reservado de implementación (nombres que comienzan con dos guiones bajos) está destinado. Microsoft tiene la culpa aquí por no mantener ese espacio de nombres. – datenwolf

Cuestiones relacionadas