Я пытаюсь перенести мое приложение GTKmm, разработанное в Linux, на Windows. У меня есть древовидная структура с несколькими вариантами выбора, и мне нужно получить эти выборки в std :: vector. Код, который я использую (и он прекрасно работает в Linux):
std::vector<Gtk::TreeModel::iterator> rows;
mp_FileDetailsTree->treeSelection()->selected_foreach_iter(
sigc::mem_fun(rows, &std::vector<Gtk::TreeModel::iterator>::push_back)
);
Однако в Windows (Visual C ++ Express 2010) я часто получаю эту ошибку (повторяется довольно часто):
error C2784: 'sigc::bound_const_volatile_mem_functor7<T_return,T_obj,T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7> sigc::mem_fun(T_obj &,T_return (__thiscall T_obj2::* )(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) volatile const)' : could not deduce template argument for 'overloaded function type' from 'overloaded function type'
c:\devel\gtkmm\include\sigc++-2.0\sigc++\functors\mem_fun.h(6196) : see declaration of 'sigc::mem_fun'
Прямо в строке sigc :: mem_fun.
Есть идеи, как я могу это исправить? Поиск в Google ничего полезного не дал :(. Я использую GTKmm 2.22 (полный установщик Windows).