模板上的Visuaul Studio 2017'C4244'警告

时间:2019-01-16 08:37:44

标签: linq visual-studio-2017 compiler-warnings

我尝试使用来自github的库“ boolinq.h”。它给了我错误

 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))
    {
    }

有人可以帮忙吗?

我使用启用了C ++ 17的VS。

上面的代码可以工作,但是这个错误的意思是以及如何删除消息。

0 个答案:

没有答案