我将此定义设置在顶部,并在调用时出现错误
/*-------------------__RETURN DEFINE-----------------*/
#define __return(x) \
pool_err= POOL_PUTSPACE_(i_exit_cb->Pool_addr,&l);\
if ( pool_err != 0 ) \
{ exit(EXIT_FAILURE); } \
return(x);
/*---END OF __RETURN DEFINE-----*/
我得到如下错误(g是结构,csr_val是指定为短的值)
__return(g->csr_val);
Warning 86: argument 2 conflicts with formal definition
答案 0 :(得分:2)
错误提到第二个(2)参数,唯一带有2个参数的函数调用是POOL_PUTSPACE_
。我猜想&l
可能需要演员。
答案 1 :(得分:1)
以__
开头的标识符保留供编译器使用。也许__return
与内部定义的宏或函数冲突?