1

std::map異なる署名を持つ関数ポインタを aとして aに格納したいvalue。これは可能ですかC++

4

2 に答える 2

3

Boost.AnyBoost.Variantのようなものを使用することで可能です。ただし、オブジェクト内に格納(非表示)されている関数のシグネチャが何であるかを何らかの形で覚えておく必要があるboost::anyことに注意してください。そうすれば、それを取得できます。

于 2012-09-26T06:02:38.097 に答える
0

ブーストを使用する必要さえありません。ファンクター(オーバーロード()演算子)を基本クラスとして使用し、必要なさまざまな関数ごとに継承することができます。

于 2012-09-26T08:11:03.963 に答える