gpt4 book ai didi

c++ - 将成员函数指针传递给模板函数

转载 作者:行者123 更新时间:2023-11-30 02:02:21 25 4
gpt4 key购买 nike

我正在尝试传递一个类成员函数指针

template < typename CLASS, typename TYPE1, typename TYPE2 > 
void WriteFunctionHelper(CLASS* pOwner, PropInfoType::iterator& it, WriterPtr pw, WriterPtr (Writer::*func)(TYPE1, TYPE2) ) {
MemberProperty<CLASS,TYPE2> *ptr = (MemberProperty<CLASS, TYPE2> *)it->second;
const char *propertName = ptr->m_propertyName.c_str();
if ( !ptr->m_getterFn ) {
throw;
}
pw->*func(propertName,(pOwner->*(ptr->m_getterFn))());
}

我收到编译器错误 error C2064: term does not evaluate to a function taking 2 arguments 我在做什么错了

最佳答案

pw->*func 周围添加括号

(pw->*func)(propertName,(pOwner->*(ptr->m_getterFn))());

关于c++ - 将成员函数指针传递给模板函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13305603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com