错误C2439:无法初始化成员

时间:2012-04-02 16:05:31

标签: c++ templates

我的编译错误:

template<class _Other1,
        class _Other2>
        _Pair_base(_Other1&& _Val1, _Other2&& _Val2)
        : first(_STD forward<_Other1>(_Val1)),
            second(_STD forward<_Other2>(_Val2))
        {   
        }

    _Ty1 first; 
    _Ty2 second;    
    };

error C2440: 'initializing' : cannot convert from 'int' to 'const PP_PropertyType 
error C2439: 'std::_Pair_base<_Ty1,_Ty2>::second' : member could not be initialized

我不确定这段代码是否足够......你有什么建议吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您正在尝试初始化此类内容:

pair<SomeType, PP_PropertyType> x(foo, 1234);

并且它无法将第二个参数(1234)从int转换为PP_PropertyType。

问题出现在std :: pair基类中的标准库错误中,但它是在代码中引起的。