でポインターからメソッドを使用する最良の方法は何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()
は、任意の double を返すメソッドを持つ任意のクラスにすぎません。
私のコンパイラは現在言っています
called object type 'double' is not a function or function pointer
*__first = __gen();
mem_fun
などの魔法を使うべきですか?