Symptoms

This is an error which can be encountered when using the C++ program. It often produces the following error message:

“runtime error R6025 – pure virtual function call”

This error occurs relates to a function error in the C++ program. It occurs when the application indirectly calls a pure virtual member function in a context where a call to the function is not valid.

Resolution

Essentially this error message will occur due to a programming error on your behalf, so the only resolution is to locate the error and correct it. It will be necessary to find the call to the pure virtual function and rewrite the code so it is no longer called.

Probably the best way to this is to replace the pure virtual function with an implementation that calls the Windows API function DebugBreak. This program, when using the debugger, will cause a hard-coded breakpoint. When the code stops running at this breakpoint, you can view the callstack to see where the function was called.

If this method is unsuccessful, or you don’t feel confident about carrying it out, then it is also possible to set breakpoint on the _purecall function that is found in PureVirt.c. This has the advantage of keeping the stack intact so that you can trace what is occurring.