Visuaul Studio 2017 'C4244' предупреждение по шаблону - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь использовать библиотеку "boolinq.h" из github. Это дает мне ошибку

 warning C4244: 'initializing': conversion from '_Ty' to '_Ty1', possible loss of data

Код, который выдает ошибку, - это фрагмент кода из тестовых примеров этой библиотеки

unsigned char src[] = {0xAA};

auto rng = from(src);


 auto dst = rng.bits();

Ошибка исходит от

 auto dst = rng.bits();

        LinqObj<Enumerator<int,std::pair<int,std::pair<LinqObj<Enumerator<int,std::pair<int,std::pair<TE,T> > > >,unsigned char> > > > 
    bits(BitsDirection direction = HighToLow, BytesDirection bytesDirection = FirstToLast) const
    {

Если я нажимаю на нее, она указывает на

\vc\tools\msvc\14.16.27023\include\utility(239)

    template<class _Other1,
    class _Other2,
    enable_if_t<conjunction_v<
        is_constructible<_Ty1, _Other1>,
        is_constructible<_Ty2, _Other2>,
        is_convertible<_Other1, _Ty1>,
        is_convertible<_Other2, _Ty2>
    >, int> = 0>
    constexpr pair(pair<_Other1, _Other2>&& _Right)
        _NOEXCEPT_COND(is_nothrow_constructible_v<_Ty1, _Other1>
            && is_nothrow_constructible_v<_Ty2, _Other2>)   // strengthened
    **: first(_STD forward<_Other1>(_Right.first)),**
        second(_STD forward<_Other2>(_Right.second))
    {
    }

Кто-нибудь может помочь?

Я использую VS с включенным C ++ 17.

Приведенный выше код работает, но означает, что эта ошибка означает, и как можно удалить сообщение.

...