我有以下代碼:矢量C++
typedef bool (A::*rule)(shared_ptr<Node >, shared_ptr<Node>) ;
initilaising 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>'
有誰知道我要去哪裏錯?
考查['的std :: function'](http://en.cppreference.com/w/cpp/utility/functional/function)(或任選[升壓功能庫](HTTP:// WWW。 boost.org/doc/libs/1_53_0/doc/html/function.html))。 –
使用'v_.push_back(&A :: memberFunction)'對我的作品與海灣合作委員會似乎爲w 4.7.3 – mirk
嗯不與Clang合作。奇。 – user1018513