我尝试使用boost::bind
with std::vector<>::resize
。
但是下面的代码不会编译:
#include <boost/bind.hpp>
#include <vector>
using namespace boost;
int main(){
typedef std::vector<double> type;
type a;
bind(&type::resize, _1, 2)(a);
return 0;
}
那么,我该怎么做呢?
谢谢!
提升版本 1.53 gcc 版本 4.8 或 4.6
*编辑:*上面的代码适用于 -std=c++11。其实我原来的问题是这样的:
#include <boost/bind.hpp>
#include <blitz/array.h>
#include <vector>
using namespace boost;
using namespace blitz;
int main(){
typedef Array<double, 1> type;
type a;
//a.resize(4) is ok;
bind(&type::resize, _1, 2)(a);
return 0;
}
我的编译命令是: g++ t.cpp -I path/include/ -std=c++11 -L path/lib/ -l blitz