編譯STD時,我得到了下面的錯誤:: find_if功能:什麼是錯與此的std :: find_if
error C2451: conditional expression of type 'overloaded-function' is illegal
的代碼看起來是這樣的:
typedef std::vector<boost::shared_ptr<node> >::iterator nodes_iterator;
nodes_iterator node_iter = std::find_if(_request->begin(), _request->end(), boost::bind(&RequestValues::is_parameter, this));
bool RequestValues::is_parameter(nodes_iterator iter)
{
return ((*iter)->name.compare("parameter") == 0);
}
它似乎有與謂詞函數傳遞給std::find_if
有關,但我無法弄清楚什麼是錯誤的,任何人都可以幫忙嗎?
node
是一個struct
包含一些值。
我仍然得到同樣的錯誤功能簽名.... :( – 2011-02-03 09:06:56