从 in 指针中使用方法的最佳方法是stl::generate
什么?一个例子:
std::vector<double> doSomethingToAVector(boost::shared_ptr<RandomGenerator> randomGen){
std::vector<double> output(100);
std::generate(output.begin(), output.end(), randomGen->returnANumber());
return output;
}
RandomGenerator
只是一些带有returnANumber()
返回任意双精度的方法的任意类。
我的编译器目前说
called object type 'double' is not a function or function pointer
*__first = __gen();
我应该使用mem_fun
或其他类似的魔法吗?