如何禁用 C++ 宏中的警告
How to disable a warning within a C++ macro
在 Visual C++ 中,您可以使用 pragma 暂时禁用警告:
#pragma warning(suppress: 4307)
如何禁用宏中的警告,例如,当我引发这样的 "integral constant overflow" 警告时:
#define TIMES_A_MILLION(x) x * 1000000
int value = TIMES_A_MILLION(4711);
我不想在使用宏的每个地方重复警告,但希望抑制成为宏本身的一部分。
这样显然不行:
#define TIMES_A_MILLION(x) \
#pragma warning(suppress: 4307) \
x * 1000000
在您的情况下,您必须使用扩展程序 __pragma
__pragma
而不是
#pragma
在 Visual C++ 中,您可以使用 pragma 暂时禁用警告:
#pragma warning(suppress: 4307)
如何禁用宏中的警告,例如,当我引发这样的 "integral constant overflow" 警告时:
#define TIMES_A_MILLION(x) x * 1000000
int value = TIMES_A_MILLION(4711);
我不想在使用宏的每个地方重复警告,但希望抑制成为宏本身的一部分。
这样显然不行:
#define TIMES_A_MILLION(x) \
#pragma warning(suppress: 4307) \
x * 1000000
在您的情况下,您必须使用扩展程序 __pragma
__pragma
而不是
#pragma