私はSTLをあまり使わず、学び始めたいので、STLのfor_each
機能を使ってとてもシンプルなプログラムを作りました。プログラム全体(ヘッダーファイルを除く)は次のとおりです。
class Object {
public:
int s;
Object() : s(0) { }
Object(const Object& rhs) : s(rhs.s) { }
void operator() (int a) {
s += a;
}
};
int main () {
Object sum;
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for_each(arr, arr + sizeof(arr) / sizeof(int), sum);
cout << sum.s;
cin.get();
return 0;
}
プログラムはを出力します0
。私は間違いなくfor_each
間違って使用していますが、このコードの何が正確に間違っていますか?