次のコードがあります。
typedef bool (A::*rule)(shared_ptr<Node >, shared_ptr<Node> ) ;
クラス A オブジェクトを初期化するときに、次のコードを実行します
v_ = vector<rule>();
v_.push_back(A::memberFunction);
v_.push_back(&A::memberFunction) も試してみましたが、これは私にとってより論理的であると思われましたが、フォーラムでは反対されました。エラーメッセージも表示されます
これは、この問題に関する多くのトピックで示唆されているとおりです。ただし、次のエラーが表示されます
non-const lvalue reference to type 'value_type' (aka 'bool (boost::shared_ptr<Node>, boost::shared_ptr<Node>)')
cannot bind to a temporary of type '<bound member function type>'
誰かが私がどこで間違っているのか知っていますか?