Original Post
Uh, this is probably a stupid question, but how do you use for_each with VC6?
the code im trying is taken straight from SGI:
#include <algorithm>
#include <functional>
#include <iostream>
#include <vector>
using namespace std;
struct B {
virtual void print() = 0;
};
struct D1 : public B {
void print() { cout << "I''m a D1" << endl; }
};
struct D2 : public B {
void print() { cout << "I''m a D2" << endl; }
};
int main()
{
vector<D1> V;
V.push_back(D1());
V.push_back(D1());
for_each(V.begin(), V.end(), mem_fun_ref(&B::print));
}
It compiles and works fine with gcc, I even tryd STLport, same problem:
c:\program files\microsoft visual studio\vc98\include\functional(263) : error C2562: ''()'' : ''void'' function returning a value
c:\program files\microsoft visual studio\vc98\include\functional(262) : see declaration of ''()''
c:\program files\microsoft visual studio\vc98\include\functional(263) : while compiling class-template member function ''void __thiscall std::mem_fun_ref_t::operator ()(struct B &) const''
Error executing cl.exe.
Thanks.