MSVC шаблонный лямбда-функции сбой пакета параметров - PullRequest
1 голос
/ 20 октября 2019

Я наткнулся на ошибку, и я не уверен, что ее вызывает. Вы можете найти код здесь: https://godbolt.org/z/F9zdHg

#include <utility>

#define USE_PACK 1

#if USE_PACK == 1
template<int N, typename ...type_pack>
auto ap(type_pack...pack)
#else
template<int N>
auto ap()
#endif
{
    auto sum = []<int ...Is>(std::index_sequence<Is...>) { return (Is + ...); };
    return sum(std::make_index_sequence<N>{});
}

int main()
{
    return ap<5>();
}

Если вы установите USE_PACK 0, все скомпилируется нормально, в противном случае я получаю странную ошибку о расширении Is.... Это ошибка компилятора или я что-то не так делаю?

...