2010-06-01 55 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