Я хочу использовать библиотеку Adafruit_CC3000 Arduino в AVR Studio. Я следовал этот Инструкция по использованию Adafruit Arduino lib с AVR studio, чтобы я мог использовать другие функции AVR тоже. Но я получаю ту же ошибку 50 раз, пока я компилирую код.
Ошибка 5 reinterpret_cast из типа ‘const char *’ для типа
‘__FlashStringHelper *’ отбрасывает
квалификаторы E: \ arduino-1.0.1 \ library \ Adafruit_CC3000 \ Adafruit_CC3000.cpp 183 3 ATmega32_WSClient_CC3K
Я искал в Интернете такие ошибки. но я не смог понять проблему. Я прошу дать мне понять, что в этом коде является причиной этой ошибки?
reinterpret_cast
может конвертировать между несвязанными типами указателей, но не может удалить const
или же volatile
классификаторы. Тебе нужно const_cast
для этого.
Варианты есть (примерно в порядке возрастания гадости):
const __FlashStringHelper*
, если вам не нужно изменять объект;char*
если вам нужно изменить его;reinterpret_cast<__FlashStringHelper*>(const_cast<char*>(whatever))
или грубая сила (__FlashStringHelper*)whatever
если вы настаиваете на том, чтобы полностью отказаться от системы типов.