【问题标题】:Pointer error when compiling nesc编译nesc时指针错误
【发布时间】:2016-06-03 03:01:32
【问题描述】:

我在 nesc 中有以下方法/事件。我收到一个错误

event message_t* Receive.receive(message_t* bufPtr,
void* payload, uint8_t len) {
dbg("RadioCountToLedsC", "Received packet of length %hhu.\n", len);
radio_count_msg_t* adammsg = (radio_count_msg_t*) payload;
val =adammsg -> counter;
dbg("RadioCountToLedsC", "The current summation is: %d \n", val);
return bufPtr;
}

在此代码块的第 4 行。错误具体是: “'*'之前的语法错误。然后它说adammsg在下一行中未声明

谁能告诉我我的错误可能是什么?我已经坚持了一段时间,这让我发疯了。我正在开发 Tinyos 中包含的 RadioCountsToLeds 应用程序。具体来说,我正在尝试注入数据包-将它们发送到节点-然后对存储在数据包中的信息进行计算。

谢谢!

【问题讨论】:

    标签: pointers tinyos nesc


    【解决方案1】:

    在 C(以及 nesC)中,所有的变量声明都必须在函数的开头。所以:

    event message_t* Receive.receive(message_t* bufPtr,
    void* payload, uint8_t len) {
    radio_count_msg_t* adammsg = (radio_count_msg_t*) payload;
    dbg("RadioCountToLedsC", "Received packet of length %hhu.\n", len);
    val =adammsg -> counter;
    dbg("RadioCountToLedsC", "The current summation is: %d \n", val);
    return bufPtr;
    }
    

    【讨论】:

    • 谢谢!我只用 C 和 nesC 用了几个月,所以我完全忘记了这一点。我设法修复了这个事件,我的整个程序现在按预期工作。再次感谢
    猜你喜欢
    • 2023-03-09
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多