LINUX.ORG.RU

История изменений

Исправление KennyMinigun, (текущая версия) :

template <typename... Args>
int returns(Args&&... args) {
  int status = 0;
  auto checkStatus = [&status](auto& f) {
    status = std::invoke(f);
    return status == 0;
  };

  (checkStatus(args) && ...);

  return status;
}

Можно еще форвардить в лямбду (для корректности), но мне лень…

Исходная версия KennyMinigun, :

template <typename... Args>
int returns(Args&&... args) {
  int status = 0;
  auto checkStatus = [&status](auto& f) {
    status = std::invoke(f);
    return status == 0;
  };

  (checkStatus(args) && ...);

  return status;
}