Geo*_*nis -2 c c++ macros c-preprocessor
为了使我的问题精确,我想创建一个接受变量++并将其与另一个变量粘贴的宏.在代码中:
#define MYMACRO(A, OP) /* .... */
Run Code Online (Sandbox Code Playgroud)
然后,如果我写在源文件中
MYMACRO(this->var, ++)
Run Code Online (Sandbox Code Playgroud)
预处理器应粘贴代码
this->var++;
Run Code Online (Sandbox Code Playgroud)
当我尝试将宏定义为A ## OP时,它提供以下错误:
粘贴"++"和"var"不会提供有效的预处理令牌
有可能做我正在尝试的事情吗?
提前谢谢你的答案
您不需要##令牌粘贴操作符,因为您没有尝试将参数组合到单个令牌中.只需使用:
#define MYMACRO(a, op) (a)op;
Run Code Online (Sandbox Code Playgroud)