这是我的第一个问题。我放弃了,将为此使用手卷函子,但我很好奇它应该如何完成。下面的人为示例旨在通过用空值填充向量中的所有向量,将它们的大小调整为 9。指示的行会导致 MinGW GCC 4.5.0 出现大量模板错误。我尝试了几种不同的排列,但只在下面发布了我认为“最接近正确”的代码。应该怎么写?注意,我想保留 resize 的两个参数版本。
#include <vector>
using std::vector;
#include <algorithm>
using std::for_each;
#include <tr1/functional>
using std::tr1::bind;
using std::tr1::placeholders::_1;
int main() {
vector<vector<void *> > stacked_vector(20);
for_each(stacked_vector.begin(),stacked_vector.end(),
bind(&std::vector<void *>::resize,_1,9,0/*NULL*/)); // voluminous error output
return 0;
}
非常感谢您的意见。