сложить выражение в присваивании - PullRequest
0 голосов
/ 02 марта 2019

Я пытаюсь использовать выражение сгиба для упрощения кода.В следующем коде я пытаюсь вставить элементы в массив, но выражение сгиба не компилируется

struct test {
  std::string cmd[20];
  test() {
    int i = 0;
    auto insert = [&](auto... c) {
      assert(i < 20);
      (cmd[i++] = c), ...;
    };
    insert("c");
    insert("c", "c2");
  }
};

компилятор жалуется на отсутствие ';'

1 Ответ

0 голосов
/ 02 марта 2019

Сложенные выражения должны быть заключены в скобки.Следовательно:

((cmd[i++] = c), ...);

Внутренние скобки также необходимы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...