ошибка: ожидается '=', ',', ';', 'asm' или '__attribute__' перед токеном ':'

Произошла ошибка, когда я загрузил этот код в 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_ */

Могу я узнать, что не так с этим кодом? Спасибо!


person shannon    schedule 13.11.2012    source источник
comment
Проблема с добавлением файлов .cc в arduino. вышеуказанный файл был преобразован в файл .cc, но когда я попытался добавить файл в arduino, он не показывает их на вкладках, и я думаю, что файлы C++ не добавляются в arduino. почему это так?   -  person shannon    schedule 13.11.2012


Ответы (2)


Вы компилируете файл C, содержащий C++. Компилятор C отвергает синтаксис C++.

Вместо этого скомпилируйте его как программу на C++.

person justin    schedule 13.11.2012
comment
Могу ли я узнать, как я могу преобразовать этот файл в С++? - person shannon; 13.11.2012
comment
@shannon часто, вы просто меняете расширение на cpp. в зависимости от того, как настроена ваша сборка, это может не сработать. попытайся. - person justin; 13.11.2012
comment
Для начала переименуйте файл в cpp. А затем посмотрите в своей IDE/компиляторе флаг C++. - person RvdK; 13.11.2012
comment
где мне найти IDE/компилятор? это из программы Arduino или Visual C++? - person shannon; 13.11.2012
comment
@shannon Я думаю, что Arduino IDE делает это автоматически, просто переименуйте файл, снова откройте его с расширением CPP, и все готово. - person ppeterka; 13.11.2012
comment
как изменить расширение на cpp? не уверен, что сделал это правильно, я добавил .cpp в конце имени файла. но файл остается как файл .c - person shannon; 13.11.2012
comment
хорошо, мне удалось изменить его на файл С++. но когда я попытался добавить файл в ардуино, он не показывает его на вкладках, и я думаю, что файлы С++ не добавляются - person shannon; 13.11.2012
comment
@shannon извините, я могу помочь с c и c++, но не могу помочь с arduino (никогда не использовал его!). - person justin; 13.11.2012

Разве здесь не пропущено space :?

#include<inttypes.h> 
person J.A.I.L.    schedule 13.11.2012