我正在寻找一种在C(++)中创建函数指针的方法,该函数使用一个参数将其添加到创建函数的范围内,如python中的这个例子:
def add(x, y):
return x+y
def create_function(y):
def addY(x):
return add(x, y)
return addY
add5 = create_function(5)
print add5(2)
# 7
值y
可以作为类实例或指针给出,只要我可以在addY
中访问它。
答案 0 :(得分:0)
我没有用C解决问题,但C ++提供了std::bind。
连同typedef
函数的参数(它的CGAL,它对模板做了很多)的可能性,我可以使用绑定函数作为参数。
这是blogentry,我找到了解决方案:http://www.alecjacobson.com/weblog/?p=4034
我首先尝试使用std :: bind然后得到了相同的错误,这会在搜索错误消息时导致这个帖子。
如果您有一个建议,它如何与普通C函数一起使用,我仍然会对可能的事情感兴趣。