当我将此代码上传到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/