带模板的 C++ 函数指针
C++ function pointer with templates
我正在尝试存储指向成员函数的指针。需要存放指针的class声明为:
template <typename TDataType, typename T>
bool my_function(std::string topic_name,
void(T::*)(const TDataType&) fp,
T* obj)
我收到错误:
error: expected ',' or '...' before 'fp'
void(T::*)(const TDataType&) fp,
谁能告诉我这是怎么回事?看起来这是一个我没有得到的语法错误。
变化:
void(T::*)(const TDataType&) fp
至
void(T::* fp)(const TDataType&)
成员函数指针的语法是
return_type(class_name::* function_pointer_name)(function_parameters)
所以
template <typename TDataType, typename T>
bool my_function(std::string topic_name,
void(T::*)(const TDataType&) fp,
T* obj)
需要
template <typename TDataType, typename T>
bool my_function(std::string topic_name,
void(T::* fp)(const TDataType&)'
T* obj)
我正在尝试存储指向成员函数的指针。需要存放指针的class声明为:
template <typename TDataType, typename T>
bool my_function(std::string topic_name,
void(T::*)(const TDataType&) fp,
T* obj)
我收到错误:
error: expected ',' or '...' before 'fp'
void(T::*)(const TDataType&) fp,
谁能告诉我这是怎么回事?看起来这是一个我没有得到的语法错误。
变化:
void(T::*)(const TDataType&) fp
至
void(T::* fp)(const TDataType&)
成员函数指针的语法是
return_type(class_name::* function_pointer_name)(function_parameters)
所以
template <typename TDataType, typename T>
bool my_function(std::string topic_name,
void(T::*)(const TDataType&) fp,
T* obj)
需要
template <typename TDataType, typename T>
bool my_function(std::string topic_name,
void(T::* fp)(const TDataType&)'
T* obj)