我将此代码上传到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_ */
我可以知道这段代码有什么问题吗?谢谢!
答案 0 :(得分:6)
您正在编译包含C ++的C文件。 C编译器拒绝C ++语法。
将其编译为C ++程序。
答案 1 :(得分:0)
这里是否缺少space
:?
#include<inttypes.h>