Я пытаюсь использовать пересылку для пересылки упакованного списка параметров в 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 );