【发布时间】:2015-05-29 16:21:21
【问题描述】:
这是这个问题的延续c++ function ptr in unorderer_map, compile time error
我试图使用 std::function 代替函数指针,并且只有当函数是静态的时我才能插入函数。否则我会得到以下错误
main.cpp:15:11: 错误:没有匹配的成员函数调用 '插入'
map.insert(std::make_pair("one",&Example::procesString));
#include<string>
#include <unordered_map>
#include<functional>
namespace Test
{
namespace Test
{
class Example
{
public:
Example()
{
map.insert(std::make_pair("one",&Example::procesString));
}
static void procesString(std::string & aString)
//void procesString(std::string & aString) -> compiler error
{
}
static void processStringTwo(std::string & aString)
{
}
std::unordered_map<std::string,std::function<void(std::string&)>> map;
};
}
}
int main()
{
return 0;
}
【问题讨论】: