如何使用函数指针作为值创建地图,并插入到该地图中?

时间:2015-11-04 19:12:59

标签: c++ dictionary function-pointers

我的目标:我想创建一个以字符串作为键并将函数指针作为值的映射。然后我想在地图中插入一些键值对。

这是我到目前为止所拥有的。在我的头文件中,我有这个片段:

import numpy as np
import random
import matplotlib.pyplot as plt

#constants
mUn0 = 1350
Vcat = 18000000
n = 2 * pow(10,16)
e = 1.6 * pow(10,-19)

#variable
E = 1000
d = []
f = []

for i in range(1,E):
    j = np.log(n*e*mUn0) + np.log(i) - 0.5 * np.log(1+pow((mUn0*i/Vcat),2))  #FIXED
    f.append(j)
    d.append(np.log(i)) #FIXED
plt.xlabel('E')
plt.ylabel('V')
plt.subplot(2,1,2) #not needed, but maybe a holdover from full code
plt.plot(f,d,'bo') #FIXED
plt.show()

在我的cpp文件中是:

std::map<std::string, std::function<std::string()>> cMap;   

我希望将&amp; Manager :: testfunc添加到地图中并指向我班级中的功能,但我不太了解这一点,而且它不起作用。

我收到错误&#34;无法专门化功能模板&#39; unknown-type std :: invoke(_Callable&amp;&amp;,_ Types&amp;&amp; ...)&#39 ;&#34 ;.这是什么意思?

重复&#39;主题使用std :: bind,但我认为这不是我需要的。如何在没有它的情况下添加值?请,我真的不认为链接的主题是针对同样的问题。如果有人可以帮助我,我真的很感激,我一整天都在尝试搜索和谷歌搜索,我自己也无法解决这个问题。

0 个答案:

没有答案