У меня есть что-то похожее на
Base.h
#ifndef BASE_H
#define BASE_H
class Base
{
virtual Base* createNew() = 0;
}
#endif
D.h
#ifndef D_H
#define D_H
#include "Base.h"
class D : public Base
{
virtual Base* createNew();
}
#endif
D.cpp
#include "D.h"
Base* D:createNew()
{
return new D();
}
main.cpp
typedef Base* (Base::*FP)(void);
#include "D.h"
void create(FP pointer)
{
//empty for now
}
int main()
{
create(&D::createNew); //This doesnt work =s?
}
Я очень смущен, почему это не работает, кто-нибудь может дать мне совет о том, что я должен делать ????
Ps. Извините, если код не запускается, я поместил его, например, ради, просто чтобы показать вам, что я делал