¿Qué problemas podría tener al definir NOMINMAX
antes que cualquier otra cosa en mi programa?Posibles problemas con NOMINMAX en Visual C++
Por lo que yo sé, esto hará que <Windows.h>
no define el min
y max
macros tal que muchos conflictos con el STL, por ejemplo, std::min()
, std::max()
o std::numeric_limits<T>::min()
se resuelven.
¿Estoy en el supuesto de que solo el código heredado y heredado de Windows tendrá problemas? ¿Casi todas las bibliotecas no deben depender de min()
y max()
definidas como macros?
Editar: ¿Habrá problemas con otros encabezados de Windows?
No debería haber problemas, incluso con código específico de Windows, pero es posible que existe algún código que no funcionaría. ¿Por qué no lo intentas y ves si hay algún error? –
Para nuestro código interno, 'NOMINMAX' funciona bien. Sin embargo, la biblioteca también es utilizada por desarrolladores externos y no quiero romper sus aplicaciones. – Manuel
'# define' es una operación en tiempo de compilación. Las bibliotecas están enlazadas, no compiladas. Esto significa que pueden tener sus propios '# define' independientes. Los usuarios de la biblioteca no verán que '# define'd' NOMINMAX' – MSalters