1

我一直在尝试使用 for_each 将 wxTextCtrl 的多个标签设置为空值,如下所示:

std::deque<wxTextCtrl*> dqImg;

for_each (dqImg.begin(),dqImg.end(),bind1st(mem_fun(&wxTextCtrl::SetLabel),""));

问题是它给了我这个错误:

Error 1 error C2535: 'void std::binder1st<_Fn2>::operator ()(const wxString &) const' : member function already defined or declared d:\...\visualstudio2012\vc\include\xfunctional  286

你能解释一下我做错了什么吗?谢谢。

4

1 回答 1

2

我不太了解错误消息(您使用哪个版本的编译器?)但是您应该使用bind2nd,而不是bind1st,因为返回的仿函数的第一个参数mem_fun()wxTextCtrl*

于 2012-12-04T18:29:32.413 回答