This is about plugin features in my program. I need a C++ class(and object) in a plugin could be used by main module through an interface. The interface inheritance like this:>
You're problem may be the private inheritance:
_rwd_autocomplete_plugin_base_t : _rwd_plugin_base_t
Also I think because you have virtual functions your types are already polymorphic, but wouldn't hurt to add virtual destructors.
Edit: Sorry just realized you're using struct there so the default inheritance is public. But probably best to be explicit, especially since you're seeing differences between compilers.