当我将此代码上传到Arduino Atmega2560时发生错误。这是我为程序中的.c文件创建的库文件。

错误是:herkulex.c:16: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token
出现错误时,文件中将突出显示单词“class”(如下所示的代码)

#ifndef herkulex_lib
#define herkulex_lib

#include <Arduino.h>
#include <Wire.h>
#include<inttypes.h>

class herkulex
{
  public:
    herkulex();
    void hklx_Init(unsigned long ulBaudRate);
    void hklx_SendPacket(DrsPacket stPacket);
    unsigned char hklx_ucReceivePacket(DrsPacket *pstPacket);
    void hklx_RemoveInvalidData(void);

//no private
};

#endif /* HERKULEX_H_ */

我可以知道这段代码有什么问题吗?谢谢!

最佳答案

您正在编译一个包含C++的C文件。 C编译器拒绝C++语法。

而是将其编译为C++程序。

关于c++ - 错误:在 '=' token 之前,预期的 ',', ';', 'asm', '__attribute__'或 ':',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13357798/

10-11 22:48
查看更多