Original Post
I just started having a problem, and I think it must be the fault of the MSVC++ 6. In a simplified explanation, i have a class with 4 virtual functions. Another class derives from this base and implements all the vitual functions. The problem is I keep getting an debug error message during run time. Stepping through the code, i discovered the faulty point. It is in a call to a one of the virtual functions, from a base pointer that actually points to the derived class. Here what it looks like:
pointer_base->Initialize(); // really points to derived
Stepping through, I looked at the compiler made virtual function table. It looks like this:
pointer_base->__vfptr[0] = (some address) Base::Func1
....
pointer_base->__vfptr[4] = 0x0000000 // should be Initialize()
As you can see, it seems that the compiler should be filling this entry but it is not. I checked and the function Base::Initialize() does exist, with an addess, but MSVC doesn''t want to work.
Any ideas as to the problem?