Что означает эта ошибка? Заранее спасибо!

Тема в разделе "Arduino & Shields", создана пользователем rrrrrrrr8, 28 июн 2015.

  1. rrrrrrrr8

    rrrrrrrr8 Нуб

    Arduino: 1.6.5 (Windows 7), Плата"Arduino Uno"

    Изменена опция сборки, пересобираем все

    In file included from ConvertEvents.pde:1:0:
    C:\Users\‘Ґа дЁ¬\Documents\Arduino\libraries\MeetAndroid/MeetAndroid.h:104:7: error: conflicting return type specified for 'virtual void MeetAndroid::write(uint8_t)'
    void write(uint8_t);
    ^
    In file included from C:\Users\‘Ґа дЁ¬\Documents\Arduino\libraries\MeetAndroid/MeetAndroid.h:43:0,
    from ConvertEvents.pde:1:
    C:\Program Files\Arduino\hardware\arduino\avr\cores\arduino/Print.h:48:20: error: overriding 'virtual size_t Print::write(uint8_t)'
    virtual size_t write(uint8_t) = 0;
    ^
    Ошибка компиляции.

    Это сообщение будет содержать больше информации чем
    "Отображать вывод во время компиляции"
    включено в Файл > Настройки
     
  2. Unixon

    Unixon Оракул Модератор

    В библиотеке MeetAndroid абстрактный метод virtual size_t Print::write(uint8_t) = 0 переобъявили как virtual void MeetAndroid::write(uint8_t), в результате чего метод write не перекрывается и получается класс MeetAndroid, объекты которого невозможно создать, т.к. класс содержит абстрактные методы.

    Как исправить:
    1) в .h файле изменить в классе MeetAndroid объявление метода на virtual size_t write(uint8_t);
    2) в .cpp файле добавить возврат результата оператором return;