1
這是這個問題c++ function ptr in unorderer_map, compile time error是不是std :: unordered_map <std :: string,std :: function <void(std :: string&)只能容納靜態函數?
我試圖用std::function
不是函數指針的延續,我可以插入函數只有當函數是靜態的。否則我會得到下面的錯誤
main.cpp:15:11: error: no matching member function for call to 'insert'
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;
}
@Barry:哎呦 –
不知道,如果你是酷我只需要編輯它,所以想我會發表評論。無論如何,+1。 – Barry
@Barry:歡呼聲(FYI:不會介意;顯然只是一個小小的疏忽) –