mingw32-g ++でコンパイルすると、エラーが発生します。「for_each(int [9]、int *、main():: Output)」の呼び出しに一致する関数がありませんが、vs2005ではうまく機能しますか?
#include <iostream>
#include <algorithm>
int main() {
struct Output {
void operator () (int v) {
std::cout << v << std::endl;
}
};
int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
std::for_each(a, a + sizeof(a)/sizeof(a[0]), Output());
return 0;
}