错误:在':'标记之前预期'=',',',';','asm'或'__attribute__'

sha*_*non 2 c c++ class arduino

我将此代码上传到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_ */
Run Code Online (Sandbox Code Playgroud)

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

jus*_*tin 6

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

将其编译为C++程序.