har*_*nds 6 c++ pointers function-pointers
#include <iostream>
#include <deque>
using namespace std;
main()
{
typedef void (deque<int>::*func_ptr)(int);
func_ptr fptr = &deque<int>::push_back;
}
Run Code Online (Sandbox Code Playgroud)
我试图获得指向此函数的指针,但我得到一个编译错误
error: cannot convert ‘void (std::deque<int>::*)(const value_type&) {aka void (std::deque<int>::*)(const int&)}’ to ‘func_ptr {aka void (std::deque<int>::*)(int)}’ in initialization
func_ptr fptr = &deque<int>::push_back;
Run Code Online (Sandbox Code Playgroud)
我想这样做,以便我可以根据不同的条件获得指向不同成员函数的指针.
我提到了这个链接.
push_back()接受一个const T &参数,如错误消息所示:
\n\n\n无法转换 \xe2\x80\x98void (std::deque::*)(const value_type&) ...
\n
将类型别名更改为:
\n\ntypedef void (deque<int>::*func_ptr)(const int &);\nRun Code Online (Sandbox Code Playgroud)\n