65,174
社区成员




// 这是一个测试类,没意义
class CTest
{
public:
CTest(){}
~CTest(){}
public:
int Output( char * szBuf )
{
std::cout<<szBuf<<std::endl;
return 0;
}
};
typedef int (CTest::*TestFunc)(char * szBuf );
std::vector<TestFunc> m_vtTest;
int main()
{
CTest test;
m_vtTest.push_back( &CTest::Output );
m_vtTest[0]("test"); // 这里编译有错误,说表达式必须具有(pointer-to-) 的函数类型
}
#include <functional>
#include <iostream>
#include <vector>
using namespace std;
int main()
{
CTest obj;
vector<function<int(char*)>> v;
v.push_back(bind(&CTest::Output, &obj, placeholders::_1));
auto f = v[0];
char * s = "abc";
f(s);
}
typedef int (CTest::*TestFunc)(char * szBuf );