gpt4 book ai didi

C 宏函数错误

转载 作者:行者123 更新时间:2023-11-30 15:50:19 24 4
gpt4 key购买 nike

我在c:中定义了这样一个宏函数

#define NUM_FROM_DENSE_MAT (PTR, II, JJ, RROW) ((PTR[JJ * RROW + II]))

我调用如下:

/*io.h:141*/ float num = NUM_FROM_DENSE_MAT(p_mat->p_val_host, i, j, p_mat->row);

其中p_mat->p_val_host是一个float数组,其他都是int数字。

但是当我编译它时,我收到以下错误:

io.h(141): error: identifier "PTR" is undefined

io.h(141): error: identifier "II" is undefined

io.h(141): error: identifier "JJ" is undefined

io.h(141): error: identifier "RROW" is undefined

不应该翻译成p_mat->p_val_host[j * p_mat->row + i]吗?

最佳答案

从宏定义中删除空格:

#define NUM_FROM_DENSE_MAT(PTR, II, JJ, RROW) ((PTR[JJ * RROW + II]))
^^

您的代码定义了一个名为 NUM_FROM_DENSE_MAT 的无参数宏。

关于C 宏函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15835761/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com