전화에서 호출지고 어떻게 오버로드 된 데이터 타입 :펑에 펑
펑 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