切换到Visual Studio 2019后必须在这种情况下扩展参数包

时间:2019-07-10 21:26:38

标签: c++

不幸的是,在我切换到Visual Studio 2019之后,我遇到了一个错误,我似乎无法修复。

基本上,我的程序一直在告诉我有关在这种情况下需要扩展的参数包的信息。我曾尝试看过其他各种文章,但似乎无法正确理解

下面您会看到错误代码正在获取

https://i.stack.imgur.com/KThhE.png

这是输出错误的代码

template<std::uint64_t... Keys>
class key_list 
{
    template<std::size_t Index, std::uint64_t Key>
    static void _assign_single(XORSTR_VOLATILE std::uint64_t* buffer)
    {
        buffer[Index] = Key;
    }

public:
    template<std::size_t... Indices>
    static void assign(XORSTR_VOLATILE std::uint64_t* buffer, std::index_sequence<Indices...>)
    {
        (_assign_single<Indices, Keys>(buffer) ...);
    }
};

任何帮助将不胜感激:)

编辑:格式化

1 个答案:

答案 0 :(得分:0)

   (_assign_single<Indices, Keys>(buffer) ...);

需要成为

   (_assign_single<Indices, Keys>(buffer), ...);