template <class InputIterator, class Function> Function for_each (InputIterator first, InputIterator last, Function f) { while (first != last) f(*first++); return f; }
だから
(&addProcessEntry)(*first++);
ってやってる事だと解釈したんだけど… 同じ事は C だと(Cと比べるのも問題あることは分かってるけど)
ちなみに手元のUNIX機では当然にコンパイルできません。 bash-2.02# g++ -v cc -v gcc version 2.7.2.1 bash-2.02# g++ ForEachTest.cpp /usr/include/g++/algo.h: In function `void (ForEachTest::* for_each(class list<int>::iterator, class list<int>::iterator, void (ForEachTest::*)(int)))(int)': /usr/include/g++/algo.h:65: warning: argument passing to `ForEachTest *' from `int' lacks a cast /usr/include/g++/algo.h:65: too few arguments to function