有没有办法在宏中用其他语句嵌入pragma语句?
我正在努力实现以下目标:
#define DEFINE_DELETE_OBJECT(type) \
void delete_ ## type_(int handle); \
void delete_ ## type(int handle); \
#pragma weak delete_ ## type_ = delete_ ## type
Run Code Online (Sandbox Code Playgroud)
如果有的话,我可以使用提升解决方案(除了wave).
在Visual C++中,您可以使用pragma暂时禁用警告:
#pragma warning(suppress: 4307)
Run Code Online (Sandbox Code Playgroud)
如何在宏中禁用警告,例如,当我发出"整数常量溢出"警告时,如下所示:
#define TIMES_A_MILLION(x) x * 1000000
int value = TIMES_A_MILLION(4711);
Run Code Online (Sandbox Code Playgroud)
我不想在每个使用宏的地方重复警告,但是希望抑制成为宏的一部分.
显然不可能这样做:
#define TIMES_A_MILLION(x) \
#pragma warning(suppress: 4307) \
x * 1000000
Run Code Online (Sandbox Code Playgroud)