Господа!
Как защитить кусок кода от препроцессора? Дело в том, что кое-кто (не будем тыкать пальцами) определяет макрос
#define min(a, b) ((a)<(b) ? (a) : (b))
,
который делает невозможным вызов функции STL
template<typename T> T& std::min(T& a, T& b);
в тексте программы.
Здравствуйте, Vamp, Вы писали:
V>#undef min
V>в stdafx.h
перед включением стандартных заголовков
#define NOMINMAX
Здравствуйте, sakhnik, Вы писали:
S>Господа!
S>Как защитить кусок кода от препроцессора? Дело в том, что кое-кто (не будем тыкать пальцами) определяет макрос
#define min(a, b) ((a)<(b) ? (a) : (b))
,
S>который делает невозможным вызов функции STL
template<typename T> T& std::min(T& a, T& b);
S>в тексте программы.
1.
#define NOMINMAX
#include <windows.h>
2.
int min = (std::min)(1, 2);
Здравствуйте, sakhnik, Вы писали:
Поиск (min max windows.h) подсказал:
http://www.rsdn.ru/Forum/?mid=1122489Автор: korzhik
Дата: 13.04.05
— вместо min(x,y) писать (min)(x,y) — это останавливает препроцессор
http://www.rsdn.ru/Forum/?mid=646934Автор: korzhik
Дата: 19.05.04
— #define NOMINMAX перед #include <windows.h> — это отключит определение макросов min,max
Здравствуйте, sakhnik, Вы писали:
S>Господа!
S>Как защитить кусок кода от препроцессора? Дело в том, что кое-кто (не будем тыкать пальцами) определяет макрос
S>#define min(a, b) ((a)<(b) ? (a) : (b))
,
S>который делает невозможным вызов функции STL
S>template<typename T> T& std::min(T& a, T& b);
S>в тексте программы.
http://rsdn.ru/Forum/Message.aspx?mid=1122489&only=1Автор: korzhik
Дата: 13.04.05
... << RSDN@Home 1.1.4 beta 6a rev. 436> <под silent>>