相关疑难解决方法(0)

Pragma在定义宏

有没有办法在宏中用其他语句嵌入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).

pragma stringification c-preprocessor

94
推荐指数
2
解决办法
4万
查看次数

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

在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)

c++ preprocessor compiler-warnings visual-c++

3
推荐指数
1
解决办法
340
查看次数