Прошу пояснить операнды

Тема в разделе "Arduino & Shields", создана пользователем Den1975, 15 фев 2014.

  1. Den1975

    Den1975 Нерд

    повторил робота ездящего по линии
    при компиляции нижеуказанного кода выдается сообщениеt
    too few arguments to function 'void stepBack (int, int)
    Прошу пояснить в чем проблема.
    Также что такое "? BACK_SLOW_SPEED : BACK_FAST_SPEED"


    void stepBack(int duration, int state) {
    if (!duration)
    return;

    // В зависимости от направления поворота при движении назад будем
    // делать небольшой разворот
    int leftSpeed = (state == STATE_RIGHT) ? BACK_SLOW_SPEED : BACK_FAST_SPEED;
    int rightSpeed = (state == STATE_LEFT) ? BACK_SLOW_SPEED : BACK_FAST_SPEED;
     
  2. rav_75

    rav_75 Гик

    гуглите "тернарный оператор". Вкратце, если выражение в скобках true, leftSpeed присваивается то, что после вопросительного знака. Иначе - то, что после двоеточия.
    "слишком мало аргументов". Функция подразумевает, что ей будут переданы 2 аргумента.
     
    Megakoteyka и Tomasina нравится это.