2010-06-01 56 views
0

我使用boost :: function来引用函数。我可以列出参考清单吗? 例如:函数列表

boost::function<bool (Entity &handle)> behaviorRef; 

而我需要在这样的指针列表。例如:

std::vector<behaviorRef> listPointers; 

当然,由于behaviorRef不是类型,所以它是错误的代码。

所以问题是:我如何存储函数指针列表?

+0

如果它们都共享相同的签名,'typedef'有什么问题?如果你正在寻找具有不同签名的函数,一些Boost专家必须帮忙,我不熟悉'boost :: function'。 – Pieter 2010-06-01 12:53:54

+0

@Pieter:如果签名不同,但兼容,'boost :: function'仍然有帮助。 – sbi 2010-06-01 16:17:24

回答

3
typedef boost::function<bool (Entity&)> behaviorRef_type; 
std::vector<behaviorRef_type> listPointers; 
+0

嘿,我忘了typedef。谢谢。 – Ockonal 2010-06-01 12:56:39

+0

@Ockonal:我认为'std :: vector '也可以,但是'typedef'往往更好。永远不要忘记你的工具箱中这样一个有用的工具。 – sbi 2010-06-01 13:07:17

+0

你是不是指'std :: vector >? – 2010-06-01 13:29:06