Пересылка пакета параметров в вектор - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь использовать пересылку для пересылки упакованного списка параметров в std :: vector на MSVC 19. Из-за этого он выдает мне несколько ошибок.

 long CallFunc( size_t arg1, unsigned long long *args_ptr, size_t args_num ) {
     // code
 }

 template< typename... Args > long ForwardingCall( size_t arg1, Args&& ...args_list ) {
    std::vector< unsigned long long > arguments = { std::forward< Args >( args_list )... };
    return CallFunc( arg1, arguments.data(), sizeof...( args_list ) );
 }

Сообщение об ошибке:

Error   C2440    'initializing': cannot convert from 'initializer list' to 'std::vector<unsigned __int64,std::allocator<_Ty>>'

Называя это так:

auto ret = ForwardingCall( ( size_t ) arg1, ( int ) arg2, ( int ) arg3, ( int ) arg4 );
...