如何在C ++宏中禁用警告

时间:2019-01-18 09:16:55

标签: c++ visual-c++ compiler-warnings preprocessor

在Visual C ++中,您可以使用编译指示暂时禁用警告:

#pragma warning(suppress: 4307)

如何在宏中禁用警告,例如,当我引起“积分常数溢出”警告时,如下所示:

#define TIMES_A_MILLION(x) x * 1000000
int value = TIMES_A_MILLION(4711);

我不想在每个使用宏的地方重复警告,但希望抑制成为它自己的宏的一部分。

显然不可能这样:

#define TIMES_A_MILLION(x) \
#pragma warning(suppress: 4307) \
  x * 1000000

1 个答案:

答案 0 :(得分:5)

您必须使用扩展名__pragma

__pragma

代替

#pragma