Проблема при работе с массивами

Тема в разделе "Arduino & Shields", создана пользователем Makc Nikonov, 7 мар 2016.

  1. Makc Nikonov

    Makc Nikonov Нуб

    Доброго времени суток!

    Есть библиотека Adafruit_MotorShield, есть оригинальный код:

    Код (C++):
    #define MICROSTEPS 8 // 8 or 16
    ...
    if (MICROSTEPS == 8)
    uint8_t microstepcurve[] = {0, 50, 98, 142, 180, 212, 236, 250, 255};
    #elif (MICROSTEPS == 16)
    uint8_t microstepcurve[] = {0, 25, 50, 74, 98, 120, 141, 162, 180, 197, 212, 225, 236, 244, 250, 253, 255};
    Когда я меняю его, задавая вместо констант переменные, вылезает ошибка. Вот код:

    Код (C++):
    void Adafruit_StepperMotor::setSteps(uint8_t newsteps) {
        switch (newsteps) {
        case 8:
            microsteps = 8;
            microstepcurve[] = {0, 50, 98, 142, 180, 212, 236, 250, 255};
            break;
        case 16:
            microsteps = 16;
            microstepcurve[] = {0, 25, 50, 74, 98, 120, 141, 162, 180, 197, 212, 225, 236, 244, 250, 253, 255};
            break;
        }
    }
    Вот ошибка:

    Код (C++):
    error: expected primary-expression before ']' token

       microstepcurve[] = {0, 50, 98, 142, 180, 212, 236, 250, 255};

                      ^
    Объясните мне пожалуйста, в чем может быть проблема?
     
  2. Megakoteyka

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

    uint8_t microstepcurve[]={0, 50, 98, 142, 180, 212, 236, 250, 255}; ?