我正在尝试将我在 Linux 中开发的 GTKmm 应用程序移植到 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 行。
知道如何解决这个问题吗?谷歌搜索没有任何用处:(。我使用的是 GTKmm 2.22(完整的 Windows 安装程序)。