Я пытаюсь написать класс для проекта Arduino, в качестве руководства я использую информацию из http://paulmurraycbr.github.io/ArduinoTheOOWay.html.
Я хочу настроить световую полосу для дальнейшего использования и постоянно получаю сообщение об ошибке: ошибка: использование 'this' в константном выражении.
Мой код выглядит так:
#include <FastLED.h>
#define LED_STRIP_PIN 2
#define LED_STRIP_NUM_LEDS 10
//const unsigned char LED_STRIP_PIN = 2;
//const int LED_STRIP_NUM_LEDS = 10;
CRGB leds[LED_STRIP_NUM_LEDS];
class LedStrip {
unsigned char pin;
public:
LedStrip(unsigned char attachTo) :
pin(attachTo)
{
};
void setup() {
FastLED.addLeds<NEOPIXEL, pin>(leds, 10);
};
};
//LedStrip ledstrip(LED_STRIP_PIN, LED_STRIP_NUM_LEDS);
LedStrip ledstrip(LED_STRIP_PIN);
void setup() {
}
void loop() {
}
Я попытался прочитать, что может вызвать это ошибка, но, честно говоря, я не понимаю ничего из этого. Насколько я понял, кажется, что я не могу использовать const там (которым я не являюсь, я думаю), поскольку он может быть изменен во время выполнения кода.
полная ошибка выглядит так: thissketch_feb03b.ino: В функции-члене 'void LedStrip :: setup ()':
sketch_feb03b:20:33: error: use of 'this' in a constant expression
FastLED.addLeds<NEOPIXEL, pin>(leds, 10);
^~~