I'm beginer writting dll library. I've read about ABI compatibility. But I'm not sure It is right that pure abstract class could have stl return type or stl params.
in dll
foo.h
class IFoo {
void Hello(const std::string&); // this declaration could be possible?
}
void export Inject(IFoo& foo);
foo.cc
IFoo* g_foo;
void Inject(IFoo& foo) {
g_foo = &foo;
}
*g_foo
It could be problem?
in application
class Foo : public IFoo {
// implemented
}
Foo foo;
Inject(foo);