宏定义的未定义错误

Abh*_*nav -1 c macros

我收到以下错误:

错误:'HFP_CIEV_CHELD'未声明(首次使用此功能)

我在这些文件的顶部定义了一个宏,如下所示 -

#define HFP_CIEV_CHELD(n)           (UCHAR*)"\r\n+CIEV: 4," #n "\r\n"
Run Code Online (Sandbox Code Playgroud)

并在函数中使用

switch(status->index)
{
    case AGABS_HFP_CALL_HELD_INDEX :
    Ag_send_data(HFP_CIEV_CHELD(status->dwCievStatus),(UCHAR)BT_str_len(HFP_CIEV_CHELD));
    break;
Run Code Online (Sandbox Code Playgroud)

这有什么问题?

Bil*_*nch 7

在最后一行你有:

BT_str_len(HFP_CIEV_CHELD)
Run Code Online (Sandbox Code Playgroud)

但是你的宏希望你传递一些参数HFP_CIEV_CHELD.

  • ...因此,对HFP_CIEV_CHELD`的引用不是对宏的引用,而是保持不变,准备触发编译错误. (2认同)