有没有人能找到第一次过载和所需功能之间的区别?如果我注释掉Python规范,编译很好,但我需要在其他地方。完全疯了......
template<typename TN>
void fromVectorTo(const std::vector<TN> & input, xlw::impl::XlfOper<xlw::LPXLFOPER> * output){....}
template<typename TN>
void fromVectorTo(const std::vector<TN> & input, PyObject ** output){...}
error C2665: 'pal::fromVectorTo' : none of the 2 overloads could convert all the argument types
8> myPython.h(73): could be 'void pal::fromVectorTo<double>(const std::vector<_Ty> &,PyObject **)'
8> with
8> [
8> _Ty=double
8> ]
8> myXLW.h(102): or 'void pal::fromVectorTo<double>(const std::vector<_Ty> &,xlw::impl::XlfOper<LPOPER_TYPE> *)'
8> with
8> [
8> _Ty=double,
8> LPOPER_TYPE=xlw::LPXLFOPER
8> ]
8> while trying to match the argument list '(const std::vector<_Ty>, xlw::impl::XlfOper<LPOPER_TYPE> *)'
8> with
8> [
8> _Ty=double
8> ]
8> and
8> [
8> LPOPER_TYPE=xlw::LPXLFOPER
8> ]
答案 0 :(得分:0)
看起来这是一个编译器错误 - 错误消息肯定是错误的。当我使用模板类的局部特化+做其他修改时,问题似乎消失了。