コールから呼び出さ取得する方法をオーバーロードデータ型:ファンクタに関手
ファンクタCalculateAverageを呼び出すコードの上double average=std::for_each(values.begin(),values.end(),CalculateAverage());
、
が、「無効オペレータ()(二重のelem)」の内側から
、 "operator double()const"が呼び出されています。ファンクタは次のように定義されています。
class CalculateAverage
{
private:
std::size_t num;
double sum;
public:
CalculateAverage() : num (0) , sum (0)
{
}
void operator() (double elem)
{
num++;
sum += elem;
}
operator double() const
{
return sum/num;
}
};
落ち着いてください。あなたの問題(質問)を明確に伝えるようにしてください。 – WhiZTiM
[docs](http://en.cppreference.com/w/cpp/algorithm/for_each)を読もうとしましたか? – LogicStuff
申し訳ありませんが、私はこの宣言 "operator double()const"がどこに呼び出され、誰がそれを呼び出すのか – commanche