2

このコードを Arduino Atmega2560 にアップロードするとエラーが発生しました。これは、プログラムの .c ファイル用に作成したライブラリ ファイルです。

エラーは次のとおりです。
herkulex.c:16: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token

エラーが表示されると、ファイル内にある「クラス」という単語が強調表示されます(以下に示すコード)

#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_ */

このコードの何が問題なのか分かりますか? ありがとう!

4

2 に答える 2

6

C++を含むCファイルをコンパイルしています。CコンパイラはC++構文を拒否しています。

代わりに、C++プログラムとしてコンパイルしてください。

于 2012-11-13T08:52:42.180 に答える
1

Isn't there a space missing here:?

#include<inttypes.h> 
于 2012-11-13T09:00:00.313 に答える