请教,带参数宏定义使用#ifndef预防重复编译出错
比如这个代码:#ifndef MAX(a,b)
#define MAX(a,b) (((a) > (b)) ? (a) : (b))
#endif编译器报: newline expected, extra characters found
如何操作?
C 基础需要复习,#ifndef 后边只能跟标识符,不能有参数列表。正确如下:
#ifndef MAX
#define MAX(a,b) (((a) > (b)) ? (a) : (b))
#endif
也就定死了你这个宏不能按参数个数重载 t3486784401 发表于 2019-6-18 16:29
C 基础需要复习,#ifndef 后边只能跟标识符,不能有参数列表。正确如下:
c++11也不能宏定义重载。。openblas使用了数不清的宏嵌套来切换各种矩阵计算方法。
页:
[1]